[glib] new public header: gsettingsschema.h



commit d5fb032f726dfc712a3e863adc6707c205b69da3
Author: Ryan Lortie <desrt desrt ca>
Date:   Tue Nov 15 08:00:16 2011 +0000

    new public header: gsettingsschema.h
    
    Expose some GSettingsSchemaSource and GSettingsSchema APIs.
    
    These are mostly useless so far...

 gio/Makefile.am                |    1 +
 gio/gio.h                      |    1 +
 gio/gio.symbols                |    8 +++++++
 gio/gsettingsschema-internal.h |   12 +----------
 gio/gsettingsschema.c          |    1 +
 gio/gsettingsschema.h          |   43 ++++++++++++++++++++++++++++++++++++++++
 6 files changed, 55 insertions(+), 11 deletions(-)
---
diff --git a/gio/Makefile.am b/gio/Makefile.am
index 7e819a1..26f18ff 100644
--- a/gio/Makefile.am
+++ b/gio/Makefile.am
@@ -97,6 +97,7 @@ gdbus_sources = 							\
 
 settings_headers = \
 	gsettingsbackend.h		\
+	gsettingsschema.h		\
 	gsettings.h
 
 settings_sources = \
diff --git a/gio/gio.h b/gio/gio.h
index 042c938..034ef23 100644
--- a/gio/gio.h
+++ b/gio/gio.h
@@ -104,6 +104,7 @@
 #include <gio/gproxyresolver.h>
 #include <gio/gresolver.h>
 #include <gio/gseekable.h>
+#include <gio/gsettingsschema.h>
 #include <gio/gsettings.h>
 #include <gio/gsimpleasyncresult.h>
 #include <gio/gsimplepermission.h>
diff --git a/gio/gio.symbols b/gio/gio.symbols
index 0cb45bf..6ac32e5 100644
--- a/gio/gio.symbols
+++ b/gio/gio.symbols
@@ -1098,6 +1098,14 @@ g_settings_backend_get_default
 g_keyfile_settings_backend_new
 g_memory_settings_backend_new
 g_null_settings_backend_new
+g_settings_schema_source_get_default
+g_settings_schema_source_lookup
+g_settings_schema_source_ref
+g_settings_schema_source_unref
+g_settings_schema_ref
+g_settings_schema_unref
+g_settings_schema_get_name
+g_settings_schema_get_path
 g_settings_list_schemas
 g_settings_list_relocatable_schemas
 g_settings_apply
diff --git a/gio/gsettingsschema-internal.h b/gio/gsettingsschema-internal.h
index ef4875a..5eb5190 100644
--- a/gio/gsettingsschema-internal.h
+++ b/gio/gsettingsschema-internal.h
@@ -20,9 +20,7 @@
 #ifndef __G_SETTINGS_SCHEMA_INTERNAL_H__
 #define __G_SETTINGS_SCHEMA_INTERNAL_H__
 
-#include <glib.h>
-
-typedef struct _GSettingsSchema                             GSettingsSchema;
+#include "gsettingsschema.h"
 
 typedef struct
 {
@@ -46,14 +44,6 @@ typedef struct
 G_GNUC_INTERNAL
 GSettingsSchema *       g_settings_schema_new                           (const gchar      *name);
 G_GNUC_INTERNAL
-GSettingsSchema *       g_settings_schema_ref                           (GSettingsSchema  *schema);
-G_GNUC_INTERNAL
-void                    g_settings_schema_unref                         (GSettingsSchema  *schema);
-G_GNUC_INTERNAL
-const gchar *           g_settings_schema_get_name                      (GSettingsSchema  *schema);
-G_GNUC_INTERNAL
-const gchar *           g_settings_schema_get_path                      (GSettingsSchema  *schema);
-G_GNUC_INTERNAL
 const gchar *           g_settings_schema_get_gettext_domain            (GSettingsSchema  *schema);
 G_GNUC_INTERNAL
 GVariantIter *          g_settings_schema_get_value                     (GSettingsSchema  *schema,
diff --git a/gio/gsettingsschema.c b/gio/gsettingsschema.c
index 53298e7..a130839 100644
--- a/gio/gsettingsschema.c
+++ b/gio/gsettingsschema.c
@@ -1,5 +1,6 @@
 /*
  * Copyright  2010 Codethink Limited
+ * Copyright  2011 Canonical Limited
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
diff --git a/gio/gsettingsschema.h b/gio/gsettingsschema.h
new file mode 100644
index 0000000..92665c8
--- /dev/null
+++ b/gio/gsettingsschema.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright  2010 Codethink Limited
+ * Copyright  2011 Canonical Limited
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the licence, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __G_SETTINGS_SCHEMA_H__
+#define __G_SETTINGS_SCHEMA_H__
+
+#include <glib.h>
+
+typedef struct _GSettingsSchemaSource                       GSettingsSchemaSource;
+typedef struct _GSettingsSchema                             GSettingsSchema;
+
+GSettingsSchemaSource * g_settings_schema_source_get_default            (void);
+GSettingsSchemaSource * g_settings_schema_source_ref                    (GSettingsSchemaSource *source);
+void                    g_settings_schema_source_unref                  (GSettingsSchemaSource *source);
+
+GSettingsSchema *       g_settings_schema_source_lookup                 (GSettingsSchemaSource *source,
+                                                                         const gchar           *schema_name,
+                                                                         gboolean               recursive);
+
+GSettingsSchema *       g_settings_schema_ref                           (GSettingsSchema       *schema);
+void                    g_settings_schema_unref                         (GSettingsSchema       *schema);
+
+const gchar *           g_settings_schema_get_name                      (GSettingsSchema       *schema);
+const gchar *           g_settings_schema_get_path                      (GSettingsSchema       *schema);
+
+#endif /* __G_SETTINGS_SCHEMA_H__ */



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]