diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2017-06-20 00:05:57 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2017-06-29 20:49:06 +0200 |
commit | d53168d9efa83ef37ae7698e1027da087488ece6 (patch) | |
tree | 8df4fee81277863f7d73baa6771ac6791fa69669 | |
parent | 9f18273c6c629ca6ba3a65cc24b0cd77c352a168 (diff) | |
download | tracker-d53168d9efa83ef37ae7698e1027da087488ece6.tar.gz |
libtracker-miner: Add TrackerMiner::connection property
So it is possible to use TrackerMiner facilities in-process using
a dedicated TrackerSparqlConnection. Basically store and mining
handled by the client app.
-rw-r--r-- | src/libtracker-miner/tracker-miner-object.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/libtracker-miner/tracker-miner-object.c b/src/libtracker-miner/tracker-miner-object.c index 487a331d7..ec54de4e1 100644 --- a/src/libtracker-miner/tracker-miner-object.c +++ b/src/libtracker-miner/tracker-miner-object.c @@ -78,6 +78,7 @@ enum { PROP_STATUS, PROP_PROGRESS, PROP_REMAINING_TIME, + PROP_CONNECTION }; enum { @@ -258,6 +259,14 @@ tracker_miner_class_init (TrackerMinerClass *klass) G_MAXINT, -1, G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); + g_object_class_install_property (object_class, + PROP_CONNECTION, + g_param_spec_object ("connection", + "Connection", + "SPARQL Connection", + TRACKER_SPARQL_TYPE_CONNECTION, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY)); g_type_class_add_private (object_class, sizeof (TrackerMinerPrivate)); } @@ -276,8 +285,11 @@ miner_initable_init (GInitable *initable, TrackerMiner *miner = TRACKER_MINER (initable); GError *inner_error = NULL; - /* Try to get SPARQL connection... */ - miner->priv->connection = tracker_sparql_connection_get (NULL, &inner_error); + if (!miner->priv->connection) { + /* Try to get SPARQL connection... */ + miner->priv->connection = tracker_sparql_connection_get (NULL, &inner_error); + } + if (!miner->priv->connection) { g_propagate_error (error, inner_error); return FALSE; @@ -429,6 +441,10 @@ miner_set_property (GObject *object, } break; } + case PROP_CONNECTION: { + miner->priv->connection = g_value_dup_object (value); + break; + } default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -453,6 +469,8 @@ miner_get_property (GObject *object, case PROP_REMAINING_TIME: g_value_set_int (value, miner->priv->remaining_time); break; + case PROP_CONNECTION: + g_value_set_object (value, miner->priv->connection); default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; |