summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--telepathy-logger/log-manager-internal.h2
-rw-r--r--telepathy-logger/log-manager.c18
2 files changed, 20 insertions, 0 deletions
diff --git a/telepathy-logger/log-manager-internal.h b/telepathy-logger/log-manager-internal.h
index 3e26885..e7062ba 100644
--- a/telepathy-logger/log-manager-internal.h
+++ b/telepathy-logger/log-manager-internal.h
@@ -82,6 +82,8 @@ gboolean _tpl_log_manager_search_in_identifier_finish (
void _tpl_log_manager_clear (TplLogManager *self);
+void _tpl_log_manager_clear_account (TplLogManager *self, TpAccount *account);
+
TplLogSearchHit * _tpl_log_manager_search_hit_new (TpAccount *account,
const gchar *id,
TplEventSearchType type,
diff --git a/telepathy-logger/log-manager.c b/telepathy-logger/log-manager.c
index 779f41e..7503113 100644
--- a/telepathy-logger/log-manager.c
+++ b/telepathy-logger/log-manager.c
@@ -902,6 +902,24 @@ _tpl_log_manager_clear (TplLogManager *self)
}
+void
+_tpl_log_manager_clear_account (TplLogManager *self,
+ TpAccount *account)
+{
+ GList *l;
+ TplLogManagerPriv *priv;
+
+ g_return_if_fail (TPL_IS_LOG_MANAGER (self));
+
+ priv = self->priv;
+
+ for (l = priv->stores; l != NULL; l = g_list_next (l))
+ {
+ _tpl_log_store_clear_account (TPL_LOG_STORE (l->data), account);
+ }
+}
+
+
/* There is no g_date_copy() */
static GDate *
copy_date (const GDate *date)