changes: Bump to 3.8.1
[platform/upstream/evolution-data-server.git] / libedataserver / e-iterator.h
1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 /*
3  * Authors:
4  *   Chris Lahey <clahey@ximian.com>
5  *
6  * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
7  */
8
9 #if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
10 #error "Only <libedataserver/libedataserver.h> should be included directly."
11 #endif
12
13 #ifndef EDS_DISABLE_DEPRECATED
14
15 /* Do not generate bindings. */
16 #ifndef __GI_SCANNER__
17
18 #ifndef E_ITERATOR_H
19 #define E_ITERATOR_H
20
21 #include <stdio.h>
22 #include <time.h>
23 #include <glib-object.h>
24
25 /* Standard GObject macros */
26 #define E_TYPE_ITERATOR \
27         (e_iterator_get_type ())
28 #define E_ITERATOR(obj) \
29         (G_TYPE_CHECK_INSTANCE_CAST \
30         ((obj), E_TYPE_ITERATOR, EIterator))
31 #define E_ITERATOR_CLASS(cls) \
32         (G_TYPE_CHECK_CLASS_CAST \
33         ((cls), E_TYPE_ITERATOR, EIteratorClass))
34 #define E_IS_ITERATOR(obj) \
35         (G_TYPE_CHECK_INSTANCE_TYPE \
36         ((obj), E_TYPE_ITERATOR))
37 #define E_IS_ITERATOR_CLASS(cls) \
38         (G_TYPE_CHECK_CLASS_TYPE \
39         ((cls), E_TYPE_ITERATOR))
40 #define E_ITERATOR_GET_CLASS(obj) \
41         (G_TYPE_INSTANCE_GET_CLASS \
42         ((obj), E_TYPE_ITERATOR, EIteratorClass))
43
44 G_BEGIN_DECLS
45
46 typedef struct _EIterator EIterator;
47 typedef struct _EIteratorClass EIteratorClass;
48
49 /**
50  * EIterator:
51  *
52  * Contains only private data that should be read and manipulated using the
53  * functions below.
54  **/
55 struct _EIterator {
56         GObject parent;
57 };
58
59 struct _EIteratorClass {
60         GObjectClass parent_class;
61
62         /* Signals */
63         void            (*invalidate)           (EIterator *iterator);
64
65         /* Methods */
66         gconstpointer   (*get)                  (EIterator *iterator);
67         void            (*reset)                (EIterator *iterator);
68         void            (*last)                 (EIterator *iterator);
69         gboolean        (*next)                 (EIterator *iterator);
70         gboolean        (*prev)                 (EIterator *iterator);
71         void            (*remove)               (EIterator *iterator);
72         void            (*insert)               (EIterator *iterator,
73                                                  gconstpointer object,
74                                                  gboolean before);
75         void            (*set)                  (EIterator *iterator,
76                                                  gconstpointer object);
77         gboolean        (*is_valid)             (EIterator *iterator);
78 };
79
80 GType           e_iterator_get_type             (void) G_GNUC_CONST;
81 gconstpointer   e_iterator_get                  (EIterator *iterator);
82 void            e_iterator_reset                (EIterator *iterator);
83 void            e_iterator_last                 (EIterator *iterator);
84 gboolean        e_iterator_next                 (EIterator *iterator);
85 gboolean        e_iterator_prev                 (EIterator *iterator);
86 void            e_iterator_delete               (EIterator *iterator);
87 void            e_iterator_insert               (EIterator *iterator,
88                                                  gconstpointer object,
89                                                  gboolean before);
90 void            e_iterator_set                  (EIterator *iterator,
91                                                  gconstpointer object);
92 gboolean        e_iterator_is_valid             (EIterator *iterator);
93 void            e_iterator_invalidate           (EIterator *iterator);
94
95 G_END_DECLS
96
97 #endif /* E_ITERATOR_H */
98
99 #endif /* __GI_SCANNER__ */
100
101 #endif /* EDS_DISABLE_DEPRECATED */
102