JULEA
jdb-iterator.h
Go to the documentation of this file.
1 /*
2  * JULEA - Flexible storage framework
3  * Copyright (C) 2019 Benjamin Warnke
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU Lesser General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
23 #ifndef JULEA_DB_ITERATOR_H
24 #define JULEA_DB_ITERATOR_H
25 
26 #if !defined(JULEA_DB_H) && !defined(JULEA_DB_COMPILATION)
27 #error "Only <julea-db.h> can be included directly."
28 #endif
29 
30 #include <glib.h>
31 
32 G_BEGIN_DECLS
33 
34 struct JDBIterator;
35 
36 typedef struct JDBIterator JDBIterator;
37 
38 G_END_DECLS
39 
40 #include <db/jdb-schema.h>
41 #include <db/jdb-selector.h>
42 
43 G_BEGIN_DECLS
44 
57 
67 
74 
75 G_DEFINE_AUTOPTR_CLEANUP_FUNC(JDBIterator, j_db_iterator_unref)
76 
77 
86 gboolean j_db_iterator_next(JDBIterator* iterator, GError** error);
87 
110 gboolean j_db_iterator_get_field(JDBIterator* iterator, JDBSchema* schema, gchar const* name, JDBType* type, gpointer* value, guint64* length, GError** error);
111 
112 G_END_DECLS
113 
114 #endif
gboolean j_db_iterator_next(JDBIterator *iterator, GError **error)
Definition: jdb-iterator.c:148
gboolean j_db_iterator_get_field(JDBIterator *iterator, JDBSchema *schema, gchar const *name, JDBType *type, gpointer *value, guint64 *length, GError **error)
Definition: jdb-iterator.c:178
G_END_DECLS G_BEGIN_DECLS JDBIterator * j_db_iterator_new(JDBSchema *schema, JDBSelector *selector, GError **error)
Definition: jdb-iterator.c:36
JDBIterator * j_db_iterator_ref(JDBIterator *iterator)
Definition: jdb-iterator.c:106
void j_db_iterator_unref(JDBIterator *iterator)
Definition: jdb-iterator.c:118
JDBType
Definition: jdb-type.h:35
Definition: jdb-internal.h:56
JDBSelector * selector
Definition: jdb-internal.h:60
gpointer iterator
Definition: jdb-internal.h:62
JDBSchema * schema
Definition: jdb-internal.h:59
Definition: jdb-internal.h:78
Definition: jdb-internal.h:102