Tizen 2.1 base
[platform/upstream/glib2.0.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, write to the
16  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17  * Boston, MA 02111-1307, USA.
18  *
19  * Author: Ryan Lortie <desrt@desrt.ca>
20  */
21
22 #ifndef __gvdb_builder_h__
23 #define __gvdb_builder_h__
24
25 #include <gio/gio.h>
26
27 typedef struct _GvdbItem GvdbItem;
28
29 G_GNUC_INTERNAL
30 GHashTable *            gvdb_hash_table_new                             (GHashTable    *parent,
31                                                                          const gchar   *key);
32
33 G_GNUC_INTERNAL
34 GvdbItem *              gvdb_hash_table_insert                          (GHashTable    *table,
35                                                                          const gchar   *key);
36 G_GNUC_INTERNAL
37 void                    gvdb_hash_table_insert_string                   (GHashTable    *table,
38                                                                          const gchar   *key,
39                                                                          const gchar   *value);
40
41 G_GNUC_INTERNAL
42 void                    gvdb_item_set_value                             (GvdbItem      *item,
43                                                                          GVariant      *value);
44 G_GNUC_INTERNAL
45 void                    gvdb_item_set_hash_table                        (GvdbItem      *item,
46                                                                          GHashTable    *table);
47 G_GNUC_INTERNAL
48 void                    gvdb_item_set_parent                            (GvdbItem      *item,
49                                                                          GvdbItem      *parent);
50
51 G_GNUC_INTERNAL
52 gboolean                gvdb_table_write_contents                       (GHashTable     *table,
53                                                                          const gchar    *filename,
54                                                                          gboolean        byteswap,
55                                                                          GError        **error);
56
57 #endif /* __gvdb_builder_h__ */