aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-iterator.h
diff options
context:
space:
mode:
Diffstat (limited to 'e-util/e-iterator.h')
-rw-r--r--e-util/e-iterator.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/e-util/e-iterator.h b/e-util/e-iterator.h
new file mode 100644
index 0000000000..eb983e9da9
--- /dev/null
+++ b/e-util/e-iterator.h
@@ -0,0 +1,61 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ * Authors:
+ * Chris Lahey <clahey@helixcode.com>
+ *
+ * Copyright (C) 2000 Helix Code, Inc.
+ * Copyright (C) 1999 The Free Software Foundation
+ */
+
+#ifndef __E_ITERATOR_H__
+#define __E_ITERATOR_H__
+
+#include <time.h>
+#include <gtk/gtk.h>
+#include <stdio.h>
+
+#define E_TYPE_ITERATOR (e_iterator_get_type ())
+#define E_ITERATOR(obj) (GTK_CHECK_CAST ((obj), E_TYPE_ITERATOR, EIterator))
+#define E_ITERATOR_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), E_TYPE_ITERATOR, EIteratorClass))
+#define E_IS_ITERATOR(obj) (GTK_CHECK_TYPE ((obj), E_TYPE_ITERATOR))
+#define E_IS_ITERATOR_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), E_TYPE_ITERATOR))
+
+typedef struct _EIterator EIterator;
+typedef struct _EIteratorClass EIteratorClass;
+
+struct _EIterator {
+ GtkObject object;
+};
+
+struct _EIteratorClass {
+ GtkObjectClass parent_class;
+
+ /* Signals */
+ void (*invalidate) (EIterator *iterator);
+
+ /* Virtual functions */
+ const void * (*get) (EIterator *iterator);
+ void (*reset) (EIterator *iterator);
+ gboolean (*next) (EIterator *iterator);
+ gboolean (*prev) (EIterator *iterator);
+ void (*delete) (EIterator *iterator);
+ void (*set) (EIterator *iterator,
+ const void *object);
+ gboolean (*is_valid) (EIterator *iterator);
+};
+
+const void *e_iterator_get (EIterator *iterator);
+void e_iterator_reset (EIterator *iterator);
+gboolean e_iterator_next (EIterator *iterator);
+gboolean e_iterator_prev (EIterator *iterator);
+void e_iterator_delete (EIterator *iterator);
+void e_iterator_set (EIterator *iterator,
+ const void *object);
+gboolean e_iterator_is_valid (EIterator *iterator);
+
+void e_iterator_invalidate (EIterator *iterator);
+
+/* Standard Gtk function */
+GtkType e_iterator_get_type (void);
+
+#endif /* ! __E_ITERATOR_H__ */