[tracker] TrackerMinerManager: Add get_description() method.
- From: Carlos Garnacho <carlosg src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [tracker] TrackerMinerManager: Add get_description() method.
- Date: Fri, 2 Oct 2009 10:48:02 +0000 (UTC)
commit bc43dea9ce68c55375b3b977d6f8c4a1b7afc8e8
Author: Carlos Garnacho <carlos lanedo com>
Date: Fri Oct 2 12:28:49 2009 +0200
TrackerMinerManager: Add get_description() method.
src/libtracker-miner/tracker-miner-manager.c | 32 ++++++++++++++++++++++++-
src/libtracker-miner/tracker-miner-manager.h | 2 +
2 files changed, 32 insertions(+), 2 deletions(-)
---
diff --git a/src/libtracker-miner/tracker-miner-manager.c b/src/libtracker-miner/tracker-miner-manager.c
index a805bd7..389d6a5 100644
--- a/src/libtracker-miner/tracker-miner-manager.c
+++ b/src/libtracker-miner/tracker-miner-manager.c
@@ -36,6 +36,7 @@
#define DBUS_NAME_KEY "DBusName"
#define DBUS_PATH_KEY "DBusPath"
#define DISPLAY_NAME_KEY "Name"
+#define DESCRIPTION_KEY "Comment"
typedef struct TrackerMinerManagerPrivate TrackerMinerManagerPrivate;
typedef struct MinerData MinerData;
@@ -44,6 +45,7 @@ struct MinerData {
gchar *dbus_name;
gchar *dbus_path;
gchar *display_name;
+ gchar *description;
};
struct TrackerMinerManagerPrivate {
@@ -387,7 +389,7 @@ crawler_check_file_cb (TrackerCrawler *crawler,
TrackerMinerManager *manager;
TrackerMinerManagerPrivate *priv;
GKeyFile *key_file;
- gchar *path, *dbus_path, *dbus_name, *display_name;
+ gchar *path, *dbus_path, *dbus_name, *display_name, *description;
GError *error = NULL;
MinerData *data;
@@ -415,7 +417,7 @@ crawler_check_file_cb (TrackerCrawler *crawler,
display_name = g_key_file_get_locale_string (key_file, DESKTOP_ENTRY_GROUP, DISPLAY_NAME_KEY, NULL, NULL);
if (!dbus_path || !dbus_name || !display_name) {
- g_warning ("Essential data (DBusPath or Name) are missing in miner .desktop file");
+ g_warning ("Essential data (DBusPath, DBusName or Name) are missing in miner .desktop file");
g_key_file_free (key_file);
g_free (dbus_path);
g_free (display_name);
@@ -424,10 +426,13 @@ crawler_check_file_cb (TrackerCrawler *crawler,
return FALSE;
}
+ description = g_key_file_get_locale_string (key_file, DESKTOP_ENTRY_GROUP, DESCRIPTION_KEY, NULL, NULL);
+
data = g_slice_new0 (MinerData);
data->dbus_path = dbus_path;
data->dbus_name = dbus_name;
data->display_name = display_name;
+ data->description = description;
priv->miners = g_list_prepend (priv->miners, data);
@@ -724,3 +729,26 @@ tracker_miner_manager_get_display_name (TrackerMinerManager *manager,
return NULL;
}
+
+const gchar *
+tracker_miner_manager_get_description (TrackerMinerManager *manager,
+ const gchar *miner)
+{
+ TrackerMinerManagerPrivate *priv;
+ GList *m;
+
+ g_return_val_if_fail (TRACKER_IS_MINER_MANAGER (manager), NULL);
+ g_return_val_if_fail (miner != NULL, NULL);
+
+ priv = TRACKER_MINER_MANAGER_GET_PRIVATE (manager);
+
+ for (m = priv->miners; m; m = m->next) {
+ MinerData *data = m->data;
+
+ if (strcmp (miner, data->dbus_name) == 0) {
+ return data->description;
+ }
+ }
+
+ return NULL;
+}
diff --git a/src/libtracker-miner/tracker-miner-manager.h b/src/libtracker-miner/tracker-miner-manager.h
index 6cfc857..466cac5 100644
--- a/src/libtracker-miner/tracker-miner-manager.h
+++ b/src/libtracker-miner/tracker-miner-manager.h
@@ -86,6 +86,8 @@ gboolean tracker_miner_manager_get_status (TrackerMinerManager *manager,
const gchar * tracker_miner_manager_get_display_name (TrackerMinerManager *manager,
const gchar *miner);
+const gchar * tracker_miner_manager_get_description (TrackerMinerManager *manager,
+ const gchar *miner);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]