TrackerMiner

TrackerMiner — Abstract base class for data miners

Synopsis

#include <libtracker-miner/tracker-miner.h>

                    TrackerMinerPrivate;
#define             TRACKER_MINER_ERROR_DOMAIN
#define             TRACKER_MINER_ERROR
GQuark              tracker_miner_error_quark           (void);
struct              TrackerMiner;
                    TrackerMinerClass;
void                tracker_miner_start                 (TrackerMiner *miner);
void                tracker_miner_stop                  (TrackerMiner *miner);
void                tracker_miner_ignore_next_update    (TrackerMiner *miner,
                                                         const GStrv urls);
gboolean            tracker_miner_is_started            (TrackerMiner *miner);
gboolean            tracker_miner_is_paused             (TrackerMiner *miner);
guint               tracker_miner_get_n_pause_reasons   (TrackerMiner *miner);
gint                tracker_miner_pause                 (TrackerMiner *miner,
                                                         const gchar *reason,
                                                         GError **error);
gboolean            tracker_miner_resume                (TrackerMiner *miner,
                                                         gint cookie,
                                                         GError **error);
TrackerSparqlConnection * tracker_miner_get_connection  (TrackerMiner *miner);
GDBusConnection *   tracker_miner_get_dbus_connection   (TrackerMiner *miner);
const gchar *       tracker_miner_get_dbus_full_name    (TrackerMiner *miner);
const gchar *       tracker_miner_get_dbus_full_path    (TrackerMiner *miner);

Description

TrackerMiner is an abstract base class to help developing data miners for tracker-store, being an abstract class it doesn't do much by itself, but provides the basic signaling and operation control so the miners implementing this class are properly recognized by Tracker, and can be controlled properly by external means such as TrackerMinerManager.

TrackerMiner implements the GInitable interface, and thus, all objects of types inheriting from TrackerMiner must be initialized with g_initable_init() just after creation (or directly created with g_initable_new()).

Details

TrackerMinerPrivate

typedef struct _TrackerMinerPrivate TrackerMinerPrivate;


TRACKER_MINER_ERROR_DOMAIN

#define TRACKER_MINER_ERROR_DOMAIN "TrackerMiner"


TRACKER_MINER_ERROR

#define TRACKER_MINER_ERROR        tracker_miner_error_quark()


tracker_miner_error_quark ()

GQuark              tracker_miner_error_quark           (void);

Returns the GQuark used to identify miner errors in GError structures.

Returns :

the error GQuark

Since 0.8


struct TrackerMiner

struct TrackerMiner {
	GObject parent_instance;
	TrackerMinerPrivate *private;
};

Abstract miner object.


TrackerMinerClass

typedef struct {
	GObjectClass parent_class;

	/* signals */
	void (* started)            (TrackerMiner *miner);
	void (* stopped)            (TrackerMiner *miner);

	void (* paused)             (TrackerMiner *miner);
	void (* resumed)            (TrackerMiner *miner);

	void (* progress)           (TrackerMiner *miner,
	                             const gchar  *status,
	                             gdouble       progress);

	void (* ignore_next_update) (TrackerMiner *miner,
	                             const GStrv   urls);
} TrackerMinerClass;

Virtual methods left to implement.

GObjectClass parent_class;

parent object class.

started ()

Called when the miner is told to start collecting data.

stopped ()

Called when the miner is told to stop collecting data.

paused ()

Called when the miner is told to pause.

resumed ()

Called when the miner is told to resume activity.

progress ()

progress.

ignore_next_update ()

Called after ignore on next update event happens.

tracker_miner_start ()

void                tracker_miner_start                 (TrackerMiner *miner);

Tells the miner to start processing data.

miner :

a TrackerMiner

Since 0.8


tracker_miner_stop ()

void                tracker_miner_stop                  (TrackerMiner *miner);

Tells the miner to stop processing data.

miner :

a TrackerMiner

Since 0.8


tracker_miner_ignore_next_update ()

void                tracker_miner_ignore_next_update    (TrackerMiner *miner,
                                                         const GStrv urls);

Tells the miner to mark urls are to ignore on next update.

miner :

a TrackerMiner

urls :

the urls to mark as to ignore on next update. [in]

Since 0.8


tracker_miner_is_started ()

gboolean            tracker_miner_is_started            (TrackerMiner *miner);

Returns TRUE if the miner has been started.

miner :

a TrackerMiner

Returns :

TRUE if the miner is already started.

Since 0.8


tracker_miner_is_paused ()

gboolean            tracker_miner_is_paused             (TrackerMiner *miner);

Returns TRUE if the miner is paused.

miner :

a TrackerMiner

Returns :

TRUE if the miner is paused.

Since 0.10


tracker_miner_get_n_pause_reasons ()

guint               tracker_miner_get_n_pause_reasons   (TrackerMiner *miner);

Returns the number of pause reasons holding miner from indexing contents.

miner :

a TrackerMiner

Returns :

The number of current pause reasons

Since 0.10.5


tracker_miner_pause ()

gint                tracker_miner_pause                 (TrackerMiner *miner,
                                                         const gchar *reason,
                                                         GError **error);

Asks miner to pause. On success the cookie ID is returned, this is what must be used in tracker_miner_resume() to resume operations. On failure error will be set and -1 will be returned.

miner :

a TrackerMiner

reason :

reason to pause

error :

return location for errors. [out callee-allocates][transfer full][allow-none]

Returns :

The pause cookie ID.

Since 0.8


tracker_miner_resume ()

gboolean            tracker_miner_resume                (TrackerMiner *miner,
                                                         gint cookie,
                                                         GError **error);

Asks the miner to resume processing. The cookie must be something returned by tracker_miner_pause(). The miner won't actually resume operations until all pause requests have been resumed.

miner :

a TrackerMiner

cookie :

pause cookie

error :

return location for errors. [out][transfer full][allow-none]

Returns :

TRUE if the cookie was valid.

Since 0.8


tracker_miner_get_connection ()

TrackerSparqlConnection * tracker_miner_get_connection  (TrackerMiner *miner);

Gets the TrackerSparqlConnection initialized by miner

miner :

a TrackerMiner

Returns :

a TrackerSparqlConnection. [transfer none]

Since 0.10


tracker_miner_get_dbus_connection ()

GDBusConnection *   tracker_miner_get_dbus_connection   (TrackerMiner *miner);

Gets the GDBusConnection initialized by miner

miner :

a TrackerMiner

Returns :

a GDBusConnection. [transfer none]

Since 0.10


tracker_miner_get_dbus_full_name ()

const gchar *       tracker_miner_get_dbus_full_name    (TrackerMiner *miner);

Gets the DBus name registered by miner

miner :

a TrackerMiner

Returns :

a constant string which should not be modified by the caller.

Since 0.10


tracker_miner_get_dbus_full_path ()

const gchar *       tracker_miner_get_dbus_full_path    (TrackerMiner *miner);

Gets the DBus path registered by miner

miner :

a TrackerMiner

Returns :

a constant string which should not be modified by the caller.

Since 0.10