telepathy-logger: log-iter: Add a rewind pure virtual method

Nicolas Dufresne nicolasd at kemper.freedesktop.org
Tue Aug 28 13:01:06 PDT 2012


Module: telepathy-logger
Branch: master
Commit: 181aba719cde7154248fb6028d65f4236486233b
URL:    http://cgit.freedesktop.org/telepathy/telepathy-logger/commit/?id=181aba719cde7154248fb6028d65f4236486233b

Author: Debarshi Ray <debarshir at freedesktop.org>
Date:   Wed Jul 11 18:51:03 2012 +0200

log-iter: Add a rewind pure virtual method

Fixes: https://bugs.freedesktop.org/41772

---

 telepathy-logger/log-iter-internal.h |    5 +++++
 telepathy-logger/log-iter.c          |   18 ++++++++++++++++++
 2 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/telepathy-logger/log-iter-internal.h b/telepathy-logger/log-iter-internal.h
index 080f90c..ec5589f 100644
--- a/telepathy-logger/log-iter-internal.h
+++ b/telepathy-logger/log-iter-internal.h
@@ -61,6 +61,7 @@ struct _TplLogIterClass
   GObjectClass parent_class;
 
   GList * (*get_events) (TplLogIter *self, guint num_events, GError **error);
+  void (*rewind) (TplLogIter *self, guint num_events, GError **error);
 };
 
 GType tpl_log_iter_get_type (void) G_GNUC_CONST;
@@ -69,6 +70,10 @@ GList *tpl_log_iter_get_events (TplLogIter *self,
     guint num_events,
     GError **error);
 
+void tpl_log_iter_rewind (TplLogIter *self,
+    guint num_events,
+    GError **error);
+
 G_END_DECLS
 
 #endif /* __TPL_LOG_ITER_H__ */
diff --git a/telepathy-logger/log-iter.c b/telepathy-logger/log-iter.c
index 27ed26c..5ad1f53 100644
--- a/telepathy-logger/log-iter.c
+++ b/telepathy-logger/log-iter.c
@@ -71,3 +71,21 @@ tpl_log_iter_get_events (TplLogIter *self,
 
   return log_iter_class->get_events (self, num_events, error);
 }
+
+
+void
+tpl_log_iter_rewind (TplLogIter *self,
+    guint num_events,
+    GError **error)
+{
+  TplLogIterClass *log_iter_class;
+
+  g_return_if_fail (TPL_IS_LOG_ITER (self));
+
+  log_iter_class = TPL_LOG_ITER_GET_CLASS (self);
+
+  if (log_iter_class->rewind == NULL)
+    return;
+
+  log_iter_class->rewind (self, num_events, error);
+}



More information about the telepathy-commits mailing list