[kdbus] sync with kdbus (kdbus.h - commit: 5ae1ecac44cb)
[platform/upstream/glib.git] / gio / gvdb / gvdb-builder.h
1 /*
2  * Copyright © 2010 Codethink Limited
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the licence, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
16  *
17  * Author: Ryan Lortie <desrt@desrt.ca>
18  */
19
20 #ifndef __gvdb_builder_h__
21 #define __gvdb_builder_h__
22
23 #include <gio/gio.h>
24
25 typedef struct _GvdbItem GvdbItem;
26
27 G_GNUC_INTERNAL
28 GHashTable *            gvdb_hash_table_new                             (GHashTable    *parent,
29                                                                          const gchar   *key);
30
31 G_GNUC_INTERNAL
32 GvdbItem *              gvdb_hash_table_insert                          (GHashTable    *table,
33                                                                          const gchar   *key);
34 G_GNUC_INTERNAL
35 void                    gvdb_hash_table_insert_string                   (GHashTable    *table,
36                                                                          const gchar   *key,
37                                                                          const gchar   *value);
38
39 G_GNUC_INTERNAL
40 void                    gvdb_item_set_value                             (GvdbItem      *item,
41                                                                          GVariant      *value);
42 G_GNUC_INTERNAL
43 void                    gvdb_item_set_hash_table                        (GvdbItem      *item,
44                                                                          GHashTable    *table);
45 G_GNUC_INTERNAL
46 void                    gvdb_item_set_parent                            (GvdbItem      *item,
47                                                                          GvdbItem      *parent);
48
49 G_GNUC_INTERNAL
50 gboolean                gvdb_table_write_contents                       (GHashTable     *table,
51                                                                          const gchar    *filename,
52                                                                          gboolean        byteswap,
53                                                                          GError        **error);
54
55 #endif /* __gvdb_builder_h__ */