aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libempathy/empathy-log-source-empathy.c13
-rw-r--r--libempathy/empathy-log-source.c9
-rw-r--r--libempathy/empathy-log-source.h2
3 files changed, 24 insertions, 0 deletions
diff --git a/libempathy/empathy-log-source-empathy.c b/libempathy/empathy-log-source-empathy.c
index c48d730dc..fd744f94b 100644
--- a/libempathy/empathy-log-source-empathy.c
+++ b/libempathy/empathy-log-source-empathy.c
@@ -58,6 +58,7 @@
typedef struct
{
gchar *basedir;
+ gchar *name;
} EmpathyLogSourceEmpathyPriv;
static void log_source_iface_init (gpointer g_iface,gpointer iface_data);
@@ -73,6 +74,7 @@ log_source_empathy_finalize (GObject *object)
EmpathyLogSourceEmpathyPriv *priv = GET_PRIV (self);
g_free (priv->basedir);
+ g_free (priv->name);
}
static void
@@ -95,6 +97,8 @@ empathy_log_source_empathy_init (EmpathyLogSourceEmpathy *self)
priv->basedir = g_build_path (G_DIR_SEPARATOR_S, g_get_home_dir (),
".gnome2", PACKAGE_NAME, "logs", NULL);
+
+ priv->name = g_strdup ("Empathy");
}
static gchar *
@@ -682,12 +686,21 @@ log_source_empathy_get_chats (EmpathyLogSource *self,
return hits;
}
+static const gchar *
+log_source_empathy_get_name (EmpathyLogSource *self)
+{
+ EmpathyLogSourceEmpathyPriv *priv = GET_PRIV (self);
+
+ return priv->name;
+}
+
static void
log_source_iface_init (gpointer g_iface,
gpointer iface_data)
{
EmpathyLogSourceInterface *iface = (EmpathyLogSourceInterface *) g_iface;
+ iface->get_name = log_source_empathy_get_name;
iface->exists = log_source_empathy_exists;
iface->add_message = log_source_empathy_add_message;
iface->get_dates = log_source_empathy_get_dates;
diff --git a/libempathy/empathy-log-source.c b/libempathy/empathy-log-source.c
index 6a5e5b3b0..4080d5a6c 100644
--- a/libempathy/empathy-log-source.c
+++ b/libempathy/empathy-log-source.c
@@ -44,6 +44,15 @@ empathy_log_source_get_type (void)
return type;
}
+const gchar *
+empathy_log_source_get_name (EmpathyLogSource *self)
+{
+ if (!EMPATHY_LOG_SOURCE_GET_INTERFACE (self)->get_name)
+ return NULL;
+
+ return EMPATHY_LOG_SOURCE_GET_INTERFACE (self)->get_name (self);
+}
+
gboolean
empathy_log_source_exists (EmpathyLogSource *self,
McAccount *account,
diff --git a/libempathy/empathy-log-source.h b/libempathy/empathy-log-source.h
index c9425ef45..c00571813 100644
--- a/libempathy/empathy-log-source.h
+++ b/libempathy/empathy-log-source.h
@@ -48,6 +48,7 @@ struct _EmpathyLogSourceInterface
{
GTypeInterface parent;
+ const gchar * (*get_name) (EmpathyLogSource *self);
gboolean (*exists) (EmpathyLogSource *self, McAccount *account,
const gchar *chat_id, gboolean chatroom);
void (*add_message) (EmpathyLogSource *self, const gchar *chat_id,
@@ -68,6 +69,7 @@ struct _EmpathyLogSourceInterface
GType empathy_log_source_get_type (void) G_GNUC_CONST;
+const gchar *empathy_log_source_get_name (EmpathyLogSource *self);
gboolean empathy_log_source_exists (EmpathyLogSource *self,
McAccount *account, const gchar *chat_id, gboolean chatroom);
void empathy_log_source_add_message (EmpathyLogSource *self,