Connecting

Connecting — A client library for querying and inserting data in Tracker.

Synopsis


#include <libtracker-client/tracker.h>

                    TrackerClient;
TrackerClient *     tracker_connect                     (gboolean enable_warnings,
                                                         gint timeout);
void                tracker_disconnect                  (TrackerClient *client);

Description

This API is for applications which want to integrate with Tracker either by storing their data or by querying it. They are also not limited to their application's data. Other data mined by other applications is also available in some cases.

Details

TrackerClient

typedef struct {
	DBusGProxy *proxy_statistics;
	DBusGProxy *proxy_resources;

	GHashTable *pending_calls;
	guint last_call;
} TrackerClient;

This structure is used by tracker_connect() and tracker_disconnect().

DBusGProxy *proxy_statistics;

a DBusGProxy for the connection to Tracker's statistics D-Bus service.

DBusGProxy *proxy_resources;

a DBusGProxy for the connection to Tracker's resources D-Bus service.

GHashTable *pending_calls;

a GHashTable with the D-Bus calls currently pending (used for the tracker_cancel_call() API).

guint last_call;

a guint representing the last API call with this TrackerClient.

tracker_connect ()

TrackerClient *     tracker_connect                     (gboolean enable_warnings,
                                                         gint timeout);

Creates a connection over D-Bus to the Tracker store for doing data querying and inserting.

The timeout is only used if it is > 0. If it is, then it is used with dbus_g_proxy_set_default_timeout().

enable_warnings :

a gboolean to determine if warnings are issued in cases where they are found.

timeout :

a gint used for D-Bus call timeouts.

Returns :

the TrackerClient which should be used with tracker_disconnect() when finished with.

tracker_disconnect ()

void                tracker_disconnect                  (TrackerClient *client);

This will disconnect the D-Bus connections to Tracker services and free the allocated TrackerClient by tracker_connect().

client :

a TrackerClient.