[nautilus-actions] Update GConf I/O provider
- From: Pierre Wieser <pwieser src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus-actions] Update GConf I/O provider
- Date: Fri, 19 Feb 2010 02:25:23 +0000 (UTC)
commit 4e2cbf821cbc98356e4b0e55268f24324c2a1dd6
Author: Pierre Wieser <pwieser trychlos org>
Date: Mon Feb 15 18:31:08 2010 +0100
Update GConf I/O provider
ChangeLog | 1 +
src/io-gconf/nagp-gconf-provider.c | 90 +++++++++++++++++++++++------------
src/io-gconf/nagp-gconf-provider.h | 14 +++---
3 files changed, 67 insertions(+), 38 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index a0529d9..e77a780 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,6 @@
2009-02-15 Pierre Wieser <pwieser trychlos org>
+ Update GConf I/O provider.
Create src/io-gconf/nagp-keys.c
Rename src/io-gconf/nagp-write.{c,h} to src/io-gconf/nagp-writer.{c,h}
Rename src/io-gconf/nagp-read.{c,h} to src/io-gconf/nagp-reader.{c,h}
diff --git a/src/io-gconf/nagp-gconf-provider.c b/src/io-gconf/nagp-gconf-provider.c
index a0fac34..6ab1d5e 100644
--- a/src/io-gconf/nagp-gconf-provider.c
+++ b/src/io-gconf/nagp-gconf-provider.c
@@ -35,12 +35,13 @@
#include <glib/gi18n.h>
#include <string.h>
-#include <nautilus-actions/api/na-iio-provider.h>
-#include <nautilus-actions/api/na-gconf-monitor.h>
+#include <api/na-iio-factory.h>
+#include <api/na-iio-provider.h>
+#include <api/na-gconf-monitor.h>
#include "nagp-gconf-provider.h"
-#include "nagp-read.h"
-#include "nagp-write.h"
+#include "nagp-reader.h"
+#include "nagp-writer.h"
#include "nagp-keys.h"
/* private class data
@@ -55,14 +56,17 @@ static gint st_timeout_msec = 100;
static gint st_timeout_usec = 100000;
static void class_init( NagpGConfProviderClass *klass );
-static void iio_provider_iface_init( NAIIOProviderInterface *iface );
static void instance_init( GTypeInstance *instance, gpointer klass );
static void instance_dispose( GObject *object );
static void instance_finalize( GObject *object );
-static gchar *get_id( const NAIIOProvider *provider );
-static gchar *get_name( const NAIIOProvider *provider );
-static guint get_version( const NAIIOProvider *provider );
+static void iio_provider_iface_init( NAIIOProviderInterface *iface );
+static gchar *iio_provider_get_id( const NAIIOProvider *provider );
+static gchar *iio_provider_get_name( const NAIIOProvider *provider );
+static guint iio_provider_get_version( const NAIIOProvider *provider );
+
+static void iio_factory_iface_init( NAIIOFactoryInterface *iface );
+static guint iio_factory_get_version( const NAIIOFactory *provider );
static GList *install_monitors( NagpGConfProvider *provider );
static void config_path_changed_cb( GConfClient *client, guint cnxn_id, GConfEntry *entry, NagpGConfProvider *provider );
@@ -101,11 +105,19 @@ nagp_gconf_provider_register_type( GTypeModule *module )
NULL
};
+ static const GInterfaceInfo iio_factory_iface_info = {
+ ( GInterfaceInitFunc ) iio_factory_iface_init,
+ NULL,
+ NULL
+ };
+
g_debug( "%s", thisfn );
st_module_type = g_type_module_register_type( module, G_TYPE_OBJECT, "NagpGConfProvider", &info, 0 );
g_type_module_add_interface( module, st_module_type, NA_IIO_PROVIDER_TYPE, &iio_provider_iface_info );
+
+ g_type_module_add_interface( module, st_module_type, NA_IIO_FACTORY_TYPE, &iio_factory_iface_info );
}
static void
@@ -126,23 +138,6 @@ class_init( NagpGConfProviderClass *klass )
}
static void
-iio_provider_iface_init( NAIIOProviderInterface *iface )
-{
- static const gchar *thisfn = "nagp_gconf_provider_iio_provider_iface_init";
-
- g_debug( "%s: iface=%p", thisfn, ( void * ) iface );
-
- iface->get_id = get_id;
- iface->get_name = get_name;
- iface->get_version = get_version;
- iface->read_items = nagp_iio_provider_read_items;
- iface->is_willing_to_write = nagp_iio_provider_is_willing_to_write;
- iface->is_able_to_write = nagp_iio_provider_is_able_to_write;
- iface->write_item = nagp_iio_provider_write_item;
- iface->delete_item = nagp_iio_provider_delete_item;
-}
-
-static void
instance_init( GTypeInstance *instance, gpointer klass )
{
static const gchar *thisfn = "nagp_gconf_provider_instance_init";
@@ -203,20 +198,53 @@ instance_finalize( GObject *object )
}
}
+static void
+iio_provider_iface_init( NAIIOProviderInterface *iface )
+{
+ static const gchar *thisfn = "nagp_gconf_provider_iio_provider_iface_init";
+
+ g_debug( "%s: iface=%p", thisfn, ( void * ) iface );
+
+ iface->get_id = iio_provider_get_id;
+ iface->get_name = iio_provider_get_name;
+ iface->get_version = iio_provider_get_version;
+ iface->read_items = nagp_iio_provider_read_items;
+ iface->is_willing_to_write = nagp_iio_provider_is_willing_to_write;
+ iface->is_able_to_write = nagp_iio_provider_is_able_to_write;
+ iface->write_item = nagp_iio_provider_write_item;
+ iface->delete_item = nagp_iio_provider_delete_item;
+}
+
static gchar *
-get_id( const NAIIOProvider *provider )
+iio_provider_get_id( const NAIIOProvider *provider )
{
return( g_strdup( "na-gconf" ));
}
static gchar *
-get_name( const NAIIOProvider *provider )
+iio_provider_get_name( const NAIIOProvider *provider )
{
return( g_strdup( _( "Nautilus-Actions GConf I/O Provider" )));
}
static guint
-get_version( const NAIIOProvider *provider )
+iio_provider_get_version( const NAIIOProvider *provider )
+{
+ return( 1 );
+}
+
+static void
+iio_factory_iface_init( NAIIOFactoryInterface *iface )
+{
+ static const gchar *thisfn = "nagp_gconf_provider_iio_factory_iface_init";
+
+ g_debug( "%s: iface=%p", thisfn, ( void * ) iface );
+
+ iface->get_version = iio_factory_get_version;
+}
+
+static guint
+iio_factory_get_version( const NAIIOFactory *provider )
{
return( 1 );
}
@@ -235,7 +263,7 @@ install_monitors( NagpGConfProvider *provider )
*/
list = g_list_prepend( list,
na_gconf_monitor_new(
- NA_GCONF_CONFIG_PATH,
+ NAGP_CONFIGURATIONS_PATH,
( GConfClientNotifyFunc ) config_path_changed_cb,
provider ));
@@ -361,7 +389,7 @@ config_path_changed_trigger_interface( NagpGConfProvider *provider )
return( TRUE );
}
- na_iio_provider_config_changed( NA_IIO_PROVIDER( provider ), provider->private->last_triggered_id );
+ na_iio_provider_item_changed( NA_IIO_PROVIDER( provider ), provider->private->last_triggered_id );
config_path_changed_reset_timeout( provider );
return( FALSE );
@@ -392,7 +420,7 @@ entry2uuid( GConfEntry *entry )
g_return_val_if_fail( entry, NULL );
path = gconf_entry_get_key( entry );
- subpath = path + strlen( NA_GCONF_CONFIG_PATH ) + 1;
+ subpath = path + strlen( NAGP_CONFIGURATIONS_PATH ) + 1;
split = g_strsplit( subpath, "/", -1 );
/*g_debug( "%s: [0]=%s, [1]=%s", thisfn, split[0], split[1] );*/
uuid = g_strdup( split[0] );
diff --git a/src/io-gconf/nagp-gconf-provider.h b/src/io-gconf/nagp-gconf-provider.h
index 6a16189..018f685 100644
--- a/src/io-gconf/nagp-gconf-provider.h
+++ b/src/io-gconf/nagp-gconf-provider.h
@@ -37,14 +37,13 @@
* @include: na-gconf-provider.h
*
* This class manages the GConf I/O storage subsystem, or, in other words,
- * the GConf subsystem as an NAIIOProvider. As this, it should only be
- * used through the NAIIOProvider interface.
+ * the GConf subsystem as an #NAIIOProvider. As this, it should only be
+ * used through the #NAIIOProvider interface.
*
* #NagpGConfProvider uses #NAGConfMonitor to watch at the configuration
- * tree. Modifications are notified to the NAIIOProvider interface.
+ * tree. Modifications are notified to the #NAIIOProvider interface.
*/
-#include <glib.h>
#include <glib-object.h>
#include <gconf/gconf-client.h>
@@ -57,17 +56,18 @@ G_BEGIN_DECLS
#define NAGP_IS_GCONF_PROVIDER_CLASS( klass ) ( G_TYPE_CHECK_CLASS_TYPE(( klass ), NAGP_GCONF_PROVIDER_TYPE ))
#define NAGP_GCONF_PROVIDER_GET_CLASS( object ) ( G_TYPE_INSTANCE_GET_CLASS(( object ), NAGP_GCONF_PROVIDER_TYPE, NagpGConfProviderClass ))
+typedef struct NagpGConfProviderPrivate NagpGConfProviderPrivate;
+
/* private instance data
*/
-typedef struct NagpGConfProviderPrivate {
+struct NagpGConfProviderPrivate {
gboolean dispose_has_run;
GConfClient *gconf;
GList *monitors;
GTimeVal last_event;
guint event_source_id;
gchar *last_triggered_id;
-}
- NagpGConfProviderPrivate;
+};
typedef struct {
GObject parent;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]