• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.1 of the License, 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 G_GNUC_INTERNAL
55 void                    gvdb_table_write_contents_async                 (GHashTable          *table,
56                                                                          const gchar         *filename,
57                                                                          gboolean             byteswap,
58                                                                          GCancellable        *cancellable,
59                                                                          GAsyncReadyCallback  callback,
60                                                                          gpointer             user_data);
61 G_GNUC_INTERNAL
62 gboolean                gvdb_table_write_contents_finish                (GHashTable          *table,
63                                                                          GAsyncResult        *result,
64                                                                          GError             **error);
65 
66 #endif /* __gvdb_builder_h__ */
67