diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2020-12-12 15:57:10 +0100 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2020-12-13 20:51:54 +0100 |
commit | 9b884eef2d5544caeb417f5ba1a440e082025791 (patch) | |
tree | 9b3929a109abf025d022beb8ae1c07f8ccec123b | |
parent | c454bb8af370fa7a629547a79c1a7440452de872 (diff) | |
download | tracker-9b884eef2d5544caeb417f5ba1a440e082025791.tar.gz |
libtracker-sparql: Hook XML/JSON serializers to constructor
So they can be used just giving the expected TrackerSerializerFormat.
-rw-r--r-- | src/libtracker-sparql/tracker-serializer.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/libtracker-sparql/tracker-serializer.c b/src/libtracker-sparql/tracker-serializer.c index f96b439ab..4109bfafe 100644 --- a/src/libtracker-sparql/tracker-serializer.c +++ b/src/libtracker-sparql/tracker-serializer.c @@ -22,6 +22,8 @@ #include "config.h" #include "tracker-serializer.h" +#include "tracker-serializer-json.h" +#include "tracker-serializer-xml.h" #include "tracker-private.h" @@ -125,7 +127,23 @@ GInputStream * tracker_serializer_new (TrackerSparqlCursor *cursor, TrackerSerializerFormat format) { - return NULL; + GType type; + + g_return_val_if_fail (TRACKER_IS_SPARQL_CURSOR (cursor), NULL); + + switch (format) { + case TRACKER_SERIALIZER_FORMAT_JSON: + type = TRACKER_TYPE_SERIALIZER_JSON; + break; + case TRACKER_SERIALIZER_FORMAT_XML: + type = TRACKER_TYPE_SERIALIZER_XML; + break; + default: + g_warn_if_reached (); + return NULL; + } + + return g_object_new (type, "cursor", cursor, NULL); } TrackerSparqlCursor * |