telepathy-logger: Add TplLogIter skeleton

Nicolas Dufresne nicolasd at kemper.freedesktop.org
Tue Aug 28 13:00:58 PDT 2012


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

Author: Debarshi Ray <debarshir at freedesktop.org>
Date:   Tue Jun 26 15:23:54 2012 +0200

Add TplLogIter skeleton

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

---

 telepathy-logger/Makefile.am         |    2 +
 telepathy-logger/log-iter-internal.h |   74 ++++++++++++++++++++++++++++++++++
 telepathy-logger/log-iter.c          |   73 +++++++++++++++++++++++++++++++++
 3 files changed, 149 insertions(+), 0 deletions(-)

diff --git a/telepathy-logger/Makefile.am b/telepathy-logger/Makefile.am
index d6ad3f8..efc2713 100644
--- a/telepathy-logger/Makefile.am
+++ b/telepathy-logger/Makefile.am
@@ -66,6 +66,8 @@ libtelepathy_logger_la_SOURCES = \
 		debug.c				\
 		event.c				\
 		event-internal.h		\
+		log-iter.c			\
+		log-iter-internal.h		\
 		log-manager.c			\
 		log-manager-internal.h		\
 		log-store.c			\
diff --git a/telepathy-logger/log-iter-internal.h b/telepathy-logger/log-iter-internal.h
new file mode 100644
index 0000000..080f90c
--- /dev/null
+++ b/telepathy-logger/log-iter-internal.h
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2012 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * Author: Debarshi Ray <debarshir at freedesktop.org>
+ */
+
+#ifndef __TPL_LOG_ITER_H__
+#define __TPL_LOG_ITER_H__
+
+#include <glib.h>
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define TPL_TYPE_LOG_ITER (tpl_log_iter_get_type ())
+
+#define TPL_LOG_ITER(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+   TPL_TYPE_LOG_ITER, TplLogIter))
+
+#define TPL_LOG_ITER_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST ((klass), \
+   TPL_TYPE_LOG_ITER, TplLogIterClass))
+
+#define TPL_IS_LOG_ITER(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+   TPL_TYPE_LOG_ITER))
+
+#define TPL_IS_LOG_ITER_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE ((klass), \
+   TPL_TYPE_LOG_ITER))
+
+#define TPL_LOG_ITER_GET_CLASS(obj) \
+  (G_TYPE_INSTANCE_GET_CLASS ((obj), \
+   TPL_TYPE_LOG_ITER, TplLogIterClass))
+
+typedef struct _TplLogIter        TplLogIter;
+typedef struct _TplLogIterClass   TplLogIterClass;
+
+struct _TplLogIter
+{
+  GObject parent_instance;
+};
+
+struct _TplLogIterClass
+{
+  GObjectClass parent_class;
+
+  GList * (*get_events) (TplLogIter *self, guint num_events, GError **error);
+};
+
+GType tpl_log_iter_get_type (void) G_GNUC_CONST;
+
+GList *tpl_log_iter_get_events (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
new file mode 100644
index 0000000..27ed26c
--- /dev/null
+++ b/telepathy-logger/log-iter.c
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2012 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * Author: Debarshi Ray <debarshir at freedesktop.org>
+ */
+
+#include "config.h"
+#include "log-iter-internal.h"
+
+
+G_DEFINE_TYPE (TplLogIter, tpl_log_iter, G_TYPE_OBJECT);
+
+
+static void
+tpl_log_iter_dispose (GObject *object)
+{
+  G_OBJECT_CLASS (tpl_log_iter_parent_class)->dispose (object);
+}
+
+
+static void
+tpl_log_iter_finalize (GObject *object)
+{
+  G_OBJECT_CLASS (tpl_log_iter_parent_class)->finalize (object);
+}
+
+
+static void
+tpl_log_iter_init (TplLogIter *self)
+{
+}
+
+
+static void
+tpl_log_iter_class_init (TplLogIterClass *class)
+{
+  GObjectClass *object_class = G_OBJECT_CLASS (class);
+
+  object_class->dispose = tpl_log_iter_dispose;
+  object_class->finalize = tpl_log_iter_finalize;
+}
+
+
+GList *
+tpl_log_iter_get_events (TplLogIter *self,
+    guint num_events,
+    GError **error)
+{
+  TplLogIterClass *log_iter_class;
+
+  g_return_val_if_fail (TPL_IS_LOG_ITER (self), NULL);
+
+  log_iter_class = TPL_LOG_ITER_GET_CLASS (self);
+
+  if (log_iter_class->get_events == NULL)
+    return NULL;
+
+  return log_iter_class->get_events (self, num_events, error);
+}



More information about the telepathy-commits mailing list