diff options
author | Debarshi Ray <debarshir@freedesktop.org> | 2012-06-26 15:23:54 +0200 |
---|---|---|
committer | Debarshi Ray <debarshir@gnome.org> | 2012-07-20 21:47:40 +0200 |
commit | 1d40ac8960befda413819fa1863e70326425ee18 (patch) | |
tree | 440841d2d809b5032004478dce1a7cfbbda05967 | |
parent | 5edee51380b2c043df73bea781c13f4c3ec520bc (diff) | |
download | telepathy-logger-1d40ac8960befda413819fa1863e70326425ee18.tar.gz |
Add TplLogIter skeleton
Fixes: https://bugs.freedesktop.org/41772
-rw-r--r-- | telepathy-logger/Makefile.am | 2 | ||||
-rw-r--r-- | telepathy-logger/log-iter-internal.h | 74 | ||||
-rw-r--r-- | 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@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@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); +} |