[nautilus-actions] Rename NAIIOFactory interface as NAIFactoryProvider



commit a5a256776eabdea85764380dd0eb9228538b3a92
Author: Pierre Wieser <pwieser trychlos org>
Date:   Mon Feb 22 05:39:02 2010 +0100

    Rename NAIIOFactory interface as NAIFactoryProvider

 ChangeLog                                          |   24 ++
 src/api/Makefile.am                                |    4 +-
 src/api/na-idata-factory-str.h                     |    2 +-
 src/api/na-idata-factory.h                         |   10 +-
 ...y-factory.h => na-ifactory-provider-provider.h} |   14 +-
 .../{na-iio-factory.h => na-ifactory-provider.h}   |   66 +++---
 src/api/na-iio-provider.h                          |    2 +-
 src/core/Makefile.am                               |    8 +-
 src/core/na-data-factory.c                         |   64 +++---
 src/core/na-data-factory.h                         |    6 +-
 .../{na-io-factory.c => na-factory-provider.c}     |   54 ++--
 .../{na-io-factory.h => na-factory-provider.h}     |   22 +-
 ...-factory-priv.h => na-ifactory-provider-priv.h} |   14 +-
 src/core/na-ifactory-provider.c                    |  256 ++++++++++++++++++++
 src/core/na-iio-factory.c                          |  256 --------------------
 src/core/na-object-action.c                        |   12 +-
 src/core/na-object-menu.c                          |   12 +-
 src/core/na-object-profile.c                       |   12 +-
 src/io-desktop/nadp-desktop-provider.c             |   50 ++--
 src/io-desktop/nadp-reader.c                       |    4 +-
 src/io-desktop/nadp-writer.c                       |    6 +-
 src/io-gconf/nagp-gconf-provider.c                 |   20 +-
 src/io-xml/naxml-provider.c                        |   20 +-
 src/io-xml/naxml-reader.c                          |    4 +-
 24 files changed, 483 insertions(+), 459 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index d4557fd..97c775d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,29 @@
 2009-02-22 Pierre Wieser <pwieser trychlos org>
 
+	* src/api/Makefile.am:
+	* src/api/na-idata-factory-str.h:
+	* src/api/na-idata-factory.h:
+	* src/api/na-ifactory-provider-provider.h:
+	* src/api/na-ifactory-provider.h:
+	* src/api/na-iio-provider.h:
+	* src/core/Makefile.am:
+	* src/core/na-data-factory.c:
+	* src/core/na-data-factory.h:
+	* src/core/na-factory-provider.c:
+	* src/core/na-factory-provider.h:
+	* src/core/na-ifactory-provider-priv.h:
+	* src/core/na-ifactory-provider.c:
+	* src/core/na-object-action.c:
+	* src/core/na-object-menu.c:
+	* src/core/na-object-profile.c:
+	* src/io-desktop/nadp-desktop-provider.c:
+	* src/io-desktop/nadp-reader.c:
+	* src/io-desktop/nadp-writer.c:
+	* src/io-gconf/nagp-gconf-provider.c:
+	* src/io-xml/naxml-provider.c:
+	* src/io-xml/naxml-reader.c:
+	Rename NAIIOFactory interface as NAIFactoryProvider.
+
 	* src/core/na-io-provider.c:
 	* src/core/na-pivot.c:
 	* src/core/na-pivot.h:
diff --git a/src/api/Makefile.am b/src/api/Makefile.am
index ea6a222..5003200 100644
--- a/src/api/Makefile.am
+++ b/src/api/Makefile.am
@@ -37,8 +37,8 @@ api_include_HEADERS = \
 	na-idata-factory-str.h								\
 	na-iexporter.h										\
 	na-iimporter.h										\
-	na-iio-factory.h									\
-	na-iio-factory-factory.h							\
+	na-ifactory-provider.h								\
+	na-ifactory-provider-provider.h						\
 	na-iio-provider.h									\
 	\
 	na-core-utils.h										\
diff --git a/src/api/na-idata-factory-str.h b/src/api/na-idata-factory-str.h
index 0d8670b..b4b7844 100644
--- a/src/api/na-idata-factory-str.h
+++ b/src/api/na-idata-factory-str.h
@@ -44,7 +44,7 @@ G_BEGIN_DECLS
 /**
  * Elementary data types
  * Each object data item must be typed as one of these
- * IIOFactory implementations should provide a primitive for reading
+ * IFactoryProvider implementations should provide a primitive for reading
  * (resp. writing) a value for each of these elementary data types.
  *
  * IMPORTANT NOTE
diff --git a/src/api/na-idata-factory.h b/src/api/na-idata-factory.h
index f8df432..18cdfd3 100644
--- a/src/api/na-idata-factory.h
+++ b/src/api/na-idata-factory.h
@@ -48,7 +48,7 @@
 
 #include "na-idata-factory-enum.h"
 #include "na-idata-factory-str.h"
-#include "na-iio-factory-factory.h"
+#include "na-ifactory-provider-provider.h"
 
 G_BEGIN_DECLS
 
@@ -135,7 +135,7 @@ typedef struct {
 	 *
 	 * Called just before the object is unserialized.
 	 */
-	void     ( *read_start ) ( NAIDataFactory *instance, const NAIIOFactory *reader, void *reader_data, GSList **messages );
+	void     ( *read_start ) ( NAIDataFactory *instance, const NAIFactoryProvider *reader, void *reader_data, GSList **messages );
 
 	/**
 	 * read_done:
@@ -147,7 +147,7 @@ typedef struct {
 	 *
 	 * Called when the object has been unserialized.
 	 */
-	void     ( *read_done )  ( NAIDataFactory *instance, const NAIIOFactory *reader, void *reader_data, GSList **messages );
+	void     ( *read_done )  ( NAIDataFactory *instance, const NAIFactoryProvider *reader, void *reader_data, GSList **messages );
 
 	/**
 	 * write_start:
@@ -159,7 +159,7 @@ typedef struct {
 	 *
 	 * Called just before the object is serialized.
 	 */
-	void     ( *write_start )( NAIDataFactory *instance, const NAIIOFactory *writer, void *writer_data, GSList **messages );
+	void     ( *write_start )( NAIDataFactory *instance, const NAIFactoryProvider *writer, void *writer_data, GSList **messages );
 
 	/**
 	 * write_done:
@@ -171,7 +171,7 @@ typedef struct {
 	 *
 	 * Called when the object has been serialized.
 	 */
-	void     ( *write_done ) ( NAIDataFactory *instance, const NAIIOFactory *writer, void *writer_data, GSList **messages );
+	void     ( *write_done ) ( NAIDataFactory *instance, const NAIFactoryProvider *writer, void *writer_data, GSList **messages );
 }
 	NAIDataFactoryInterface;
 
diff --git a/src/api/na-iio-factory-factory.h b/src/api/na-ifactory-provider-provider.h
similarity index 74%
rename from src/api/na-iio-factory-factory.h
rename to src/api/na-ifactory-provider-provider.h
index 879a58e..603cbb5 100644
--- a/src/api/na-iio-factory-factory.h
+++ b/src/api/na-ifactory-provider-provider.h
@@ -28,19 +28,19 @@
  *   ... and many others (see AUTHORS)
  */
 
-#ifndef __NAUTILUS_ACTIONS_API_NA_IIO_FACTORY_FACTORY_H__
-#define __NAUTILUS_ACTIONS_API_NA_IIO_FACTORY_FACTORY_H__
+#ifndef __NAUTILUS_ACTIONS_API_NA_IFACTORY_PROVIDER_PROVIDER_H__
+#define __NAUTILUS_ACTIONS_API_NA_IFACTORY_PROVIDER_PROVIDER_H__
 
 /**
- * SECTION: na_iio_factory
- * @short_description: #NAIIOFactory interface definition.
- * @include: nautilus-actions/na-iio_factory-fn.h
+ * SECTION: na_ifactory_provider
+ * @short_description: #NAIFactoryProvider interface definition.
+ * @include: nautilus-actions/na-ifactory_provider-fn.h
  */
 
 G_BEGIN_DECLS
 
-typedef struct NAIIOFactory                 NAIIOFactory;
+typedef struct NAIFactoryProvider                 NAIFactoryProvider;
 
 G_END_DECLS
 
-#endif /* __NAUTILUS_ACTIONS_API_NA_IIO_FACTORY_FACTORY_H__ */
+#endif /* __NAUTILUS_ACTIONS_API_NA_IFACTORY_PROVIDER_PROVIDER_H__ */
diff --git a/src/api/na-iio-factory.h b/src/api/na-ifactory-provider.h
similarity index 62%
rename from src/api/na-iio-factory.h
rename to src/api/na-ifactory-provider.h
index 364fc95..aced5e6 100644
--- a/src/api/na-iio-factory.h
+++ b/src/api/na-ifactory-provider.h
@@ -28,13 +28,13 @@
  *   ... and many others (see AUTHORS)
  */
 
-#ifndef __NAUTILUS_ACTIONS_API_NA_IIO_FACTORY_H__
-#define __NAUTILUS_ACTIONS_API_NA_IIO_FACTORY_H__
+#ifndef __NAUTILUS_ACTIONS_API_NA_IFACTORY_PROVIDER_H__
+#define __NAUTILUS_ACTIONS_API_NA_IFACTORY_PROVIDER_H__
 
 /**
- * SECTION: na_iio_factory
- * @short_description: #NAIIOFactory interface definition.
- * @include: nautilus-actions/na-iio_factory.h
+ * SECTION: na_ifactory_provider
+ * @short_description: #NAIFactoryProvider interface definition.
+ * @include: nautilus-actions/na-ifactory_provider.h
  *
  * This is the interface used by data factory management system for
  * having serialization/unserialization services. This interface should
@@ -45,34 +45,34 @@
  */
 
 #include "na-idata-factory.h"
-#include "na-iio-factory-factory.h"
+#include "na-ifactory-provider-provider.h"
 
 G_BEGIN_DECLS
 
-#define NA_IIO_FACTORY_TYPE							( na_iio_factory_get_type())
-#define NA_IIO_FACTORY( instance )					( G_TYPE_CHECK_INSTANCE_CAST( instance, NA_IIO_FACTORY_TYPE, NAIIOFactory ))
-#define NA_IS_IIO_FACTORY( instance )				( G_TYPE_CHECK_INSTANCE_TYPE( instance, NA_IIO_FACTORY_TYPE ))
-#define NA_IIO_FACTORY_GET_INTERFACE( instance )	( G_TYPE_INSTANCE_GET_INTERFACE(( instance ), NA_IIO_FACTORY_TYPE, NAIIOFactoryInterface ))
+#define NA_IFACTORY_PROVIDER_TYPE						( na_ifactory_provider_get_type())
+#define NA_IFACTORY_PROVIDER( instance )				( G_TYPE_CHECK_INSTANCE_CAST( instance, NA_IFACTORY_PROVIDER_TYPE, NAIFactoryProvider ))
+#define NA_IS_IFACTORY_PROVIDER( instance )				( G_TYPE_CHECK_INSTANCE_TYPE( instance, NA_IFACTORY_PROVIDER_TYPE ))
+#define NA_IFACTORY_PROVIDER_GET_INTERFACE( instance )	( G_TYPE_INSTANCE_GET_INTERFACE(( instance ), NA_IFACTORY_PROVIDER_TYPE, NAIFactoryProviderInterface ))
 
-typedef struct NAIIOFactoryInterfacePrivate NAIIOFactoryInterfacePrivate;
+typedef struct NAIFactoryProviderInterfacePrivate NAIFactoryProviderInterfacePrivate;
 
 typedef struct {
-	GTypeInterface                parent;
-	NAIIOFactoryInterfacePrivate *private;
+	GTypeInterface                      parent;
+	NAIFactoryProviderInterfacePrivate *private;
 
 	/**
 	 * get_version:
-	 * @instance: this #NAIIOFactory instance.
+	 * @instance: this #NAIFactoryProvider instance.
 	 *
 	 * Returns: the version of this interface supported by @instance implementation.
 	 *
 	 * Defaults to 1.
 	 */
-	guint    ( *get_version )( const NAIIOFactory *instance );
+	guint    ( *get_version )( const NAIFactoryProvider *instance );
 
 	/**
 	 * read_start:
-	 * @reader: this #NAIIOFactory instance.
+	 * @reader: this #NAIFactoryProvider instance.
 	 * @reader_data: the data associated to this instance.
 	 * @object: the #NAIDataFactory object which comes to be readen.
 	 * @messages: a pointer to a #GSList list of strings; the provider
@@ -80,11 +80,11 @@ typedef struct {
 	 *
 	 * API called by #NAIDataFactory just before starting with reading data.
 	 */
-	void     ( *read_start ) ( const NAIIOFactory *reader, void *reader_data, NAIDataFactory *object, GSList **messages  );
+	void     ( *read_start ) ( const NAIFactoryProvider *reader, void *reader_data, NAIDataFactory *object, GSList **messages  );
 
 	/**
 	 * read_value:
-	 * @reader: this #NAIIOFactory instance.
+	 * @reader: this #NAIFactoryProvider instance.
 	 * @reader_data: the data associated to this instance.
 	 * @iddef: the description of the data to be readen.
 	 * @messages: a pointer to a #GSList list of strings; the provider
@@ -100,11 +100,11 @@ typedef struct {
 	 *
 	 * This method must be implemented in order any data be read.
 	 */
-	GValue * ( *read_value ) ( const NAIIOFactory *reader, void *reader_data, const NadfIdType *iddef, GSList **messages );
+	GValue * ( *read_value ) ( const NAIFactoryProvider *reader, void *reader_data, const NadfIdType *iddef, GSList **messages );
 
 	/**
 	 * read_done:
-	 * @reader: this #NAIIOFactory instance.
+	 * @reader: this #NAIFactoryProvider instance.
 	 * @reader_data: the data associated to this instance.
 	 * @object: the #NAIDataFactory object which comes to be readen.
 	 * @messages: a pointer to a #GSList list of strings; the provider
@@ -113,11 +113,11 @@ typedef struct {
 	 * API called by #NAIDataFactory when all data have been readen.
 	 * Implementor may take advantage of this to do some cleanup.
 	 */
-	void     ( *read_done )  ( const NAIIOFactory *reader, void *reader_data, NAIDataFactory *object, GSList **messages  );
+	void     ( *read_done )  ( const NAIFactoryProvider *reader, void *reader_data, NAIDataFactory *object, GSList **messages  );
 
 	/**
 	 * write_start:
-	 * @writer: this #NAIIOFactory instance.
+	 * @writer: this #NAIFactoryProvider instance.
 	 * @writer_data: the data associated to this instance.
 	 * @object: the #NAIDataFactory object which comes to be written.
 	 * @messages: a pointer to a #GSList list of strings; the provider
@@ -125,11 +125,11 @@ typedef struct {
 	 *
 	 * API called by #NAIDataFactory just before starting with writing data.
 	 */
-	void     ( *write_start )( const NAIIOFactory *writer, void *writer_data, NAIDataFactory *object, GSList **messages  );
+	void     ( *write_start )( const NAIFactoryProvider *writer, void *writer_data, NAIDataFactory *object, GSList **messages  );
 
 	/**
 	 * write_value:
-	 * @writer: this #NAIIOFactory instance.
+	 * @writer: this #NAIFactoryProvider instance.
 	 * @writer_data: the data associated to this instance.
 	 * @iddef: the description of the data to be written.
 	 * @value: the #NADataElement to be written down.
@@ -140,11 +140,11 @@ typedef struct {
 	 *
 	 * This method must be implemented in order any data be written.
 	 */
-	void     ( *write_value )( const NAIIOFactory *writer, void *writer_data, const NadfIdType *iddef, GValue *value, GSList **messages );
+	void     ( *write_value )( const NAIFactoryProvider *writer, void *writer_data, const NadfIdType *iddef, GValue *value, GSList **messages );
 
 	/**
 	 * write_done:
-	 * @writer: this #NAIIOFactory instance.
+	 * @writer: this #NAIFactoryProvider instance.
 	 * @writer_data: the data associated to this instance.
 	 * @object: the #NAIDataFactory object which comes to be written.
 	 * @messages: a pointer to a #GSList list of strings; the provider
@@ -153,17 +153,17 @@ typedef struct {
 	 * API called by #NAIDataFactory when all data have been written.
 	 * Implementor may take advantage of this to do some cleanup.
 	 */
-	void     ( *write_done ) ( const NAIIOFactory *writer, void *writer_data, NAIDataFactory *object, GSList **messages  );
+	void     ( *write_done ) ( const NAIFactoryProvider *writer, void *writer_data, NAIDataFactory *object, GSList **messages  );
 }
-	NAIIOFactoryInterface;
+	NAIFactoryProviderInterface;
 
-GType           na_iio_factory_get_type( void );
+GType           na_ifactory_provider_get_type( void );
 
-NAIDataFactory *na_iio_factory_read_item ( const NAIIOFactory *reader, void *reader_data, GType type, GSList **messages );
-void            na_iio_factory_write_item( const NAIIOFactory *writer, void *writer_data, NAIDataFactory *serializable, GSList **messages );
+NAIDataFactory *na_ifactory_provider_read_item ( const NAIFactoryProvider *reader, void *reader_data, GType type, GSList **messages );
+void            na_ifactory_provider_write_item( const NAIFactoryProvider *writer, void *writer_data, NAIDataFactory *serializable, GSList **messages );
 
-NadfIdType     *na_iio_factory_get_idtype_from_gconf_key( const gchar *xml_entry );
+NadfIdType     *na_ifactory_provider_get_idtype_from_gconf_key( const gchar *xml_entry );
 
 G_END_DECLS
 
-#endif /* __NAUTILUS_ACTIONS_API_NA_IIO_FACTORY_H__ */
+#endif /* __NAUTILUS_ACTIONS_API_NA_IFACTORY_PROVIDER_H__ */
diff --git a/src/api/na-iio-provider.h b/src/api/na-iio-provider.h
index 4b0a96b..ae1cebc 100644
--- a/src/api/na-iio-provider.h
+++ b/src/api/na-iio-provider.h
@@ -42,7 +42,7 @@
  *
  * These services may be fully implemented by the I/O provider itself.
  * Or, the I/O provider may also prefer to take advantage of the data
- * factory management (see #NAIDataFactory and #NAIIOFactory interfaces).
+ * factory management (see #NAIDataFactory and #NAIFactoryProvider interfaces).
  *
  * Nautilus-Actions v 2.30 - API version:  1
  */
diff --git a/src/core/Makefile.am b/src/core/Makefile.am
index b60fc7c..685f927 100644
--- a/src/core/Makefile.am
+++ b/src/core/Makefile.am
@@ -48,6 +48,8 @@ libna_core_la_SOURCES = \
 	na-exporter.h										\
 	na-export-format.c									\
 	na-export-format.h									\
+	na-factory-provider.c								\
+	na-factory-provider.h								\
 	na-gconf-monitor.c									\
 	na-gconf-utils.c									\
 	na-gnome-vfs-uri.c									\
@@ -58,11 +60,9 @@ libna_core_la_SOURCES = \
 	na-idata-factory.c									\
 	na-iexporter.c										\
 	na-iimporter.c										\
-	na-iio-factory.c									\
-	na-iio-factory-priv.h								\
 	na-iio-provider.c									\
-	na-io-factory.c										\
-	na-io-factory.h										\
+	na-ifactory-provider.c								\
+	na-ifactory-provider-priv.h							\
 	na-io-provider.c									\
 	na-io-provider.h									\
 	na-importer.c										\
diff --git a/src/core/na-data-factory.c b/src/core/na-data-factory.c
index 16b4e54..79e8777 100644
--- a/src/core/na-data-factory.c
+++ b/src/core/na-data-factory.c
@@ -36,11 +36,11 @@
 #include <stdlib.h>
 
 #include <api/na-core-utils.h>
-#include <api/na-iio-factory.h>
+#include <api/na-ifactory-provider.h>
 
 #include "na-data-element.h"
 #include "na-data-factory.h"
-#include "na-io-factory.h"
+#include "na-factory-provider.h"
 
 typedef gboolean ( *IdGroupIterFunc )( NadfIdType *iddef, void *user_data );
 
@@ -48,7 +48,7 @@ typedef gboolean ( *IdGroupIterFunc )( NadfIdType *iddef, void *user_data );
  */
 typedef struct {
 	NAIDataFactory *object;
-	NAIIOFactory   *reader;
+	NAIFactoryProvider   *reader;
 	void           *reader_data;
 	GSList        **messages;
 }
@@ -81,14 +81,14 @@ static gchar         *v_get_default( const NAIDataFactory *object, const NadfIdT
 static void           v_copy( NAIDataFactory *target, const NAIDataFactory *source );
 static gboolean       v_are_equal( const NAIDataFactory *a, const NAIDataFactory *b );
 static gboolean       v_is_valid( const NAIDataFactory *object );
-static void           data_factory_read_data( NAIDataFactory *serializable, const NAIIOFactory *reader, void *reader_data, NadfIdGroup *groups, GSList **messages );
+static void           data_factory_read_data( NAIDataFactory *serializable, const NAIFactoryProvider *reader, void *reader_data, NadfIdGroup *groups, GSList **messages );
 static gboolean       data_factory_read_data_iter( NadfIdType *iddef, NadfRWIter *iter );
-static void           v_read_start( NAIDataFactory *serializable, const NAIIOFactory *reader, void *reader_data, GSList **messages );
-static void           v_read_done( NAIDataFactory *serializable, const NAIIOFactory *reader, void *reader_data, GSList **messages );
-static void           data_factory_write_data( NAIDataFactory *serializable, const NAIIOFactory *writer, void *writer_data, NadfIdGroup *groups, GSList **messages );
+static void           v_read_start( NAIDataFactory *serializable, const NAIFactoryProvider *reader, void *reader_data, GSList **messages );
+static void           v_read_done( NAIDataFactory *serializable, const NAIFactoryProvider *reader, void *reader_data, GSList **messages );
+static void           data_factory_write_data( NAIDataFactory *serializable, const NAIFactoryProvider *writer, void *writer_data, NadfIdGroup *groups, GSList **messages );
 static gboolean       data_factory_write_data_iter( NadfIdType *iddef, NadfRWIter *iter );
-static void           v_write_start( NAIDataFactory *serializable, const NAIIOFactory *reader, void *reader_data, GSList **messages );
-static void           v_write_done( NAIDataFactory *serializable, const NAIIOFactory *reader, void *reader_data, GSList **messages );
+static void           v_write_start( NAIDataFactory *serializable, const NAIFactoryProvider *reader, void *reader_data, GSList **messages );
+static void           v_write_done( NAIDataFactory *serializable, const NAIFactoryProvider *reader, void *reader_data, GSList **messages );
 static NADataElement *data_element_from_id( const NAIDataFactory *object, guint data_id );
 static void           iter_on_id_groups( const NadfIdGroup *idgroups, gboolean serializable_only, IdGroupIterFunc pfn, void *user_data );
 static void           free_gvalue( GValue *value, guint type );
@@ -114,7 +114,7 @@ na_data_factory_properties( GObjectClass *class )
 
 		/* define class properties
 		 */
-		groups = na_io_factory_get_groups( G_OBJECT_CLASS_TYPE( class ));
+		groups = na_factory_provider_get_groups( G_OBJECT_CLASS_TYPE( class ));
 		if( groups ){
 			iter_on_id_groups(
 					groups,
@@ -189,7 +189,7 @@ na_data_factory_new( GType type )
 
 	/* check that @type has been registered
 	 */
-	groups = na_io_factory_get_groups( type );
+	groups = na_factory_provider_get_groups( type );
 	if( groups ){
 
 		object = NA_IDATA_FACTORY( g_object_new( type, NULL ));
@@ -216,7 +216,7 @@ na_data_factory_init( NAIDataFactory *object )
 	g_debug( "%s: object=%p (%s)", thisfn, ( void * ) object, G_OBJECT_TYPE_NAME( object ));
 	g_return_if_fail( NA_IS_IDATA_FACTORY( object ));
 
-	groups = na_io_factory_get_groups( G_OBJECT_TYPE( object ));
+	groups = na_factory_provider_get_groups( G_OBJECT_TYPE( object ));
 	if( groups ){
 
 		iter_on_id_groups( groups, FALSE, ( IdGroupIterFunc ) &data_factory_init_iter, object );
@@ -466,7 +466,7 @@ na_data_factory_finalize( NAIDataFactory *object )
 /**
  * na_data_factory_read:
  * @serializable: this #NAIDataFactory instance.
- * @reader: the #NAIIOFactory which is at the origin of this read.
+ * @reader: the #NAIFactoryProvider which is at the origin of this read.
  * @reader_data: reader data.
  * @messages: a pointer to a #GSList list of strings; the implementation
  *  may append messages to this list, but shouldn't reinitialize it.
@@ -474,7 +474,7 @@ na_data_factory_finalize( NAIDataFactory *object )
  * Unserializes the object.
  */
 void
-na_data_factory_read( NAIDataFactory *serializable, const NAIIOFactory *reader, void *reader_data, GSList **messages )
+na_data_factory_read( NAIDataFactory *serializable, const NAIFactoryProvider *reader, void *reader_data, GSList **messages )
 {
 	static const gchar *thisfn = "na_data_factory_read";
 	NadfIdGroup *groups;
@@ -483,9 +483,9 @@ na_data_factory_read( NAIDataFactory *serializable, const NAIIOFactory *reader,
 	if( idata_factory_initialized && !idata_factory_finalized ){
 
 		g_return_if_fail( NA_IS_IDATA_FACTORY( serializable ));
-		g_return_if_fail( NA_IS_IIO_FACTORY( reader ));
+		g_return_if_fail( NA_IS_IFACTORY_PROVIDER( reader ));
 
-		groups = na_io_factory_get_groups( G_OBJECT_TYPE( serializable ));
+		groups = na_factory_provider_get_groups( G_OBJECT_TYPE( serializable ));
 
 		if( groups ){
 			v_read_start( serializable, reader, reader_data, messages );
@@ -504,7 +504,7 @@ na_data_factory_read( NAIDataFactory *serializable, const NAIIOFactory *reader,
 /*
  * data_factory_read_data:
  * @serializable: this #NAIDataFactory instance.
- * @reader: the #NAIIOFactory which is at the origin of this read.
+ * @reader: the #NAIFactoryProvider which is at the origin of this read.
  * @reader_data: reader data.
  * @groups: the list of NadfIdGroup structure which define @serializable.
  * @messages: a pointer to a #GSList list of strings; the implementation
@@ -513,13 +513,13 @@ na_data_factory_read( NAIDataFactory *serializable, const NAIIOFactory *reader,
  * Unserializes the object.
  */
 static void
-data_factory_read_data( NAIDataFactory *serializable, const NAIIOFactory *reader, void *reader_data, NadfIdGroup *groups, GSList **messages )
+data_factory_read_data( NAIDataFactory *serializable, const NAIFactoryProvider *reader, void *reader_data, NadfIdGroup *groups, GSList **messages )
 {
 	NadfRWIter *iter;
 
 	iter = g_new0( NadfRWIter, 1 );
 	iter->object = serializable;
-	iter->reader = ( NAIIOFactory * ) reader;
+	iter->reader = ( NAIFactoryProvider * ) reader;
 	iter->reader_data = reader_data;
 	iter->messages = messages;
 
@@ -537,7 +537,7 @@ data_factory_read_data_iter( NadfIdType *iddef, NadfRWIter *iter )
 
 	stop = FALSE;
 
-	value = na_io_factory_read_value( iter->reader, iter->reader_data, iddef, iter->messages );
+	value = na_factory_provider_read_value( iter->reader, iter->reader_data, iddef, iter->messages );
 	if( value ){
 
 		element = data_element_from_id( iter->object, iddef->id );
@@ -553,7 +553,7 @@ data_factory_read_data_iter( NadfIdType *iddef, NadfRWIter *iter )
 }
 
 static void
-v_read_start( NAIDataFactory *serializable, const NAIIOFactory *reader, void *reader_data, GSList **messages )
+v_read_start( NAIDataFactory *serializable, const NAIFactoryProvider *reader, void *reader_data, GSList **messages )
 {
 	if( NA_IDATA_FACTORY_GET_INTERFACE( serializable )->read_start ){
 		NA_IDATA_FACTORY_GET_INTERFACE( serializable )->read_start( serializable, reader, reader_data, messages );
@@ -561,7 +561,7 @@ v_read_start( NAIDataFactory *serializable, const NAIIOFactory *reader, void *re
 }
 
 static void
-v_read_done( NAIDataFactory *serializable, const NAIIOFactory *reader, void *reader_data, GSList **messages )
+v_read_done( NAIDataFactory *serializable, const NAIFactoryProvider *reader, void *reader_data, GSList **messages )
 {
 	if( NA_IDATA_FACTORY_GET_INTERFACE( serializable )->read_done ){
 		NA_IDATA_FACTORY_GET_INTERFACE( serializable )->read_done( serializable, reader, reader_data, messages );
@@ -571,7 +571,7 @@ v_read_done( NAIDataFactory *serializable, const NAIIOFactory *reader, void *rea
 /**
  * na_data_factory_write:
  * @serializable: this #NAIDataFactory instance.
- * @writer: the #NAIIOFactory which is at the origin of this write.
+ * @writer: the #NAIFactoryProvider which is at the origin of this write.
  * @writer_data: writer data.
  * @messages: a pointer to a #GSList list of strings; the implementation
  *  may append messages to this list, but shouldn't reinitialize it.
@@ -579,16 +579,16 @@ v_read_done( NAIDataFactory *serializable, const NAIIOFactory *reader, void *rea
  * Serializes the object down to the @writer.
  */
 void
-na_data_factory_write( NAIDataFactory *serializable, const NAIIOFactory *writer, void *writer_data, GSList **messages )
+na_data_factory_write( NAIDataFactory *serializable, const NAIFactoryProvider *writer, void *writer_data, GSList **messages )
 {
 	static const gchar *thisfn = "na_data_factory_write";
 	NadfIdGroup *groups;
 	gchar *msg;
 
 	g_return_if_fail( NA_IS_IDATA_FACTORY( serializable ));
-	g_return_if_fail( NA_IS_IIO_FACTORY( writer ));
+	g_return_if_fail( NA_IS_IFACTORY_PROVIDER( writer ));
 
-	groups = na_io_factory_get_groups( G_OBJECT_TYPE( serializable ));
+	groups = na_factory_provider_get_groups( G_OBJECT_TYPE( serializable ));
 
 	if( groups ){
 		v_write_start( serializable, writer, writer_data, messages );
@@ -606,7 +606,7 @@ na_data_factory_write( NAIDataFactory *serializable, const NAIIOFactory *writer,
 /*
  * data_factory_write_data:
  * @serializable: this #NAIDataFactory instance.
- * @writer: the #NAIIOFactory which is at the origin of this writ.
+ * @writer: the #NAIFactoryProvider which is at the origin of this writ.
  * @writer_data: writer data.
  * @groups: the list of NadfIdGroup structure which define @serializable.
  * @messages: a pointer to a #GSList list of strings; the implementation
@@ -615,13 +615,13 @@ na_data_factory_write( NAIDataFactory *serializable, const NAIIOFactory *writer,
  * Serializes the object.
  */
 static void
-data_factory_write_data( NAIDataFactory *serializable, const NAIIOFactory *writer, void *writer_data, NadfIdGroup *groups, GSList **messages )
+data_factory_write_data( NAIDataFactory *serializable, const NAIFactoryProvider *writer, void *writer_data, NadfIdGroup *groups, GSList **messages )
 {
 	NadfRWIter *iter;
 
 	iter = g_new0( NadfRWIter, 1 );
 	iter->object = serializable;
-	iter->reader = ( NAIIOFactory * ) writer;
+	iter->reader = ( NAIFactoryProvider * ) writer;
 	iter->reader_data = writer_data;
 	iter->messages = messages;
 
@@ -637,13 +637,13 @@ data_factory_write_data_iter( NadfIdType *iddef, NadfRWIter *iter )
 
 	stop = FALSE;
 
-	/*na_io_factory_set_value( iter->reader, iter->reader_data, iddef, iter->messages );*/
+	/*na_factory_provider_set_value( iter->reader, iter->reader_data, iddef, iter->messages );*/
 
 	return( stop );
 }
 
 static void
-v_write_start( NAIDataFactory *serializable, const NAIIOFactory *writer, void *writer_data, GSList **messages )
+v_write_start( NAIDataFactory *serializable, const NAIFactoryProvider *writer, void *writer_data, GSList **messages )
 {
 	if( NA_IDATA_FACTORY_GET_INTERFACE( serializable )->write_start ){
 		NA_IDATA_FACTORY_GET_INTERFACE( serializable )->write_start( serializable, writer, writer_data, messages );
@@ -651,7 +651,7 @@ v_write_start( NAIDataFactory *serializable, const NAIIOFactory *writer, void *w
 }
 
 static void
-v_write_done( NAIDataFactory *serializable, const NAIIOFactory *writer, void *writer_data, GSList **messages )
+v_write_done( NAIDataFactory *serializable, const NAIFactoryProvider *writer, void *writer_data, GSList **messages )
 {
 	if( NA_IDATA_FACTORY_GET_INTERFACE( serializable )->write_done ){
 		NA_IDATA_FACTORY_GET_INTERFACE( serializable )->write_done( serializable, writer, writer_data, messages );
diff --git a/src/core/na-data-factory.h b/src/core/na-data-factory.h
index 6723098..4e96e5c 100644
--- a/src/core/na-data-factory.h
+++ b/src/core/na-data-factory.h
@@ -37,7 +37,7 @@
  * @include: core/na-data-factory.h
  */
 
-#include <api/na-iio-factory.h>
+#include <api/na-ifactory-provider.h>
 
 G_BEGIN_DECLS
 
@@ -51,8 +51,8 @@ gboolean        na_data_factory_is_valid  ( const NAIDataFactory *object );
 void            na_data_factory_dump      ( const NAIDataFactory *object );
 void            na_data_factory_finalize  ( NAIDataFactory *object );
 
-void            na_data_factory_read      ( NAIDataFactory *object, const NAIIOFactory *reader, void *reader_data, GSList **messages );
-void            na_data_factory_write     ( NAIDataFactory *object, const NAIIOFactory *writer, void *writer_data, GSList **messages );
+void            na_data_factory_read      ( NAIDataFactory *object, const NAIFactoryProvider *reader, void *reader_data, GSList **messages );
+void            na_data_factory_write     ( NAIDataFactory *object, const NAIFactoryProvider *writer, void *writer_data, GSList **messages );
 
 void            na_data_factory_set_from_string( NAIDataFactory *object, guint data_id, const gchar *data );
 void            na_data_factory_set_from_value ( NAIDataFactory *object, guint data_id, const GValue *value );
diff --git a/src/core/na-io-factory.c b/src/core/na-factory-provider.c
similarity index 66%
rename from src/core/na-io-factory.c
rename to src/core/na-factory-provider.c
index 17d6f91..e1d3890 100644
--- a/src/core/na-io-factory.c
+++ b/src/core/na-factory-provider.c
@@ -34,15 +34,15 @@
 
 #include <string.h>
 
-#include "na-iio-factory-priv.h"
-#include "na-io-factory.h"
+#include "na-ifactory-provider-priv.h"
+#include "na-factory-provider.h"
 
-extern gboolean               iio_factory_initialized;		/* defined in na-iio-factory.c */
-extern gboolean               iio_factory_finalized;		/* defined in na-iio-factory.c */
-extern NAIIOFactoryInterface *iio_factory_klass;			/* defined in na-iio-factory.c */
+extern gboolean               ifactory_provider_initialized;		/* defined in na-ifactory.c */
+extern gboolean               ifactory_provider_finalized;		/* defined in na-ifactory.c */
+extern NAIFactoryProviderInterface *ifactory_provider_klass;			/* defined in na-ifactory.c */
 
 /**
- * na_io_factory_register:
+ * na_factory_provider_register:
  * @type: the #GType of the implementation class.
  * @groups: a table of #NadfIdGroup structures which defines the
  *  serializable properties which will be attached to each instance of
@@ -51,20 +51,20 @@ extern NAIIOFactoryInterface *iio_factory_klass;			/* defined in na-iio-factory.
  * Registers the implementation #GType @type.
  */
 void
-na_io_factory_register( GType type, const NadfIdGroup *groups )
+na_factory_provider_register( GType type, const NadfIdGroup *groups )
 {
-	static const gchar *thisfn = "na_io_factory_register";
+	static const gchar *thisfn = "na_factory_provider_register";
 	NadfImplement *known;
 	NadfIdGroup *registered;
 
-	if( iio_factory_initialized && !iio_factory_finalized ){
+	if( ifactory_provider_initialized && !ifactory_provider_finalized ){
 
 		g_debug( "%s: type=%lu, groups=%p",
 				thisfn, ( unsigned long ) type, ( void * ) groups );
 
 		g_return_if_fail( groups != NULL );
 
-		registered = na_io_factory_get_groups( type );
+		registered = na_factory_provider_get_groups( type );
 		if( registered ){
 			g_warning( "%s: type=%lu: already registered", thisfn, ( unsigned long ) type );
 
@@ -75,26 +75,26 @@ na_io_factory_register( GType type, const NadfIdGroup *groups )
 			known->type = type;
 			known->groups = ( NadfIdGroup * ) groups;
 
-			iio_factory_klass->private->registered = g_list_prepend( iio_factory_klass->private->registered, known );
+			ifactory_provider_klass->private->registered = g_list_prepend( ifactory_provider_klass->private->registered, known );
 		}
 	}
 }
 
 /**
- * na_io_factory_get_groups:
+ * na_factory_provider_get_groups:
  * @type: a previously registered #GType.
  *
  * Returns the #NadfIdGroups table which has been registered for this @type,
  * or %NULL.
  */
 NadfIdGroup *
-na_io_factory_get_groups( GType type )
+na_factory_provider_get_groups( GType type )
 {
 	GList *it;
 
-	if( iio_factory_initialized && !iio_factory_finalized ){
+	if( ifactory_provider_initialized && !ifactory_provider_finalized ){
 
-		for( it = iio_factory_klass->private->registered ; it ; it = it->next ){
+		for( it = ifactory_provider_klass->private->registered ; it ; it = it->next ){
 			if((( NadfImplement * ) it->data )->type == type ){
 				return((( NadfImplement * ) it->data )->groups );
 			}
@@ -105,25 +105,25 @@ na_io_factory_get_groups( GType type )
 }
 
 /**
- * na_io_factory_get_idtype_from_gconf_key:
+ * na_factory_provider_get_idtype_from_gconf_key:
  * @entry: the name of the GConf entry we are searching for.
  *
  * Returns: the definition of the data which is exported as @entry in GConf,
  * or %NULL if not found.
  */
 NadfIdType *
-na_io_factory_get_idtype_from_gconf_key( const gchar *entry )
+na_factory_provider_get_idtype_from_gconf_key( const gchar *entry )
 {
 	static const gboolean debug = FALSE;
 	GList *imp;
 
-	if( iio_factory_initialized && !iio_factory_finalized ){
+	if( ifactory_provider_initialized && !ifactory_provider_finalized ){
 
 		if( debug ){
-			g_debug( "na_io_factory_get_idtype_from_gconf_key: entry=%s", entry );
+			g_debug( "na_factory_provider_get_idtype_from_gconf_key: entry=%s", entry );
 		}
 
-		for( imp = iio_factory_klass->private->registered ; imp ; imp = imp->next ){
+		for( imp = ifactory_provider_klass->private->registered ; imp ; imp = imp->next ){
 
 			NadfImplement *implement = ( NadfImplement * ) imp->data;
 			if( debug ){
@@ -161,8 +161,8 @@ na_io_factory_get_idtype_from_gconf_key( const gchar *entry )
 }
 
 /**
- * na_io_factory_read_value:
- * @reader: the instance which implements this #NAIIOFactory interface.
+ * na_factory_provider_read_value:
+ * @reader: the instance which implements this #NAIFactoryProvider interface.
  * @reader_data: instance data.
  * @iddef: a NadfIdType structure which identifies the data to be unserialized.
  * @messages: a pointer to a #GSList list of strings; the implementation
@@ -171,19 +171,19 @@ na_io_factory_get_idtype_from_gconf_key( const gchar *entry )
  * Returns: the desired value, as a newly allocated #GValue, or NULL.
  */
 GValue *
-na_io_factory_read_value( const NAIIOFactory *reader, void *reader_data, const NadfIdType *iddef, GSList **messages )
+na_factory_provider_read_value( const NAIFactoryProvider *reader, void *reader_data, const NadfIdType *iddef, GSList **messages )
 {
 	GValue *value;
 
-	g_return_val_if_fail( NA_IS_IIO_FACTORY( reader ), NULL );
+	g_return_val_if_fail( NA_IS_IFACTORY_PROVIDER( reader ), NULL );
 
 	value = NULL;
 
-	if( iio_factory_initialized && !iio_factory_finalized ){
+	if( ifactory_provider_initialized && !ifactory_provider_finalized ){
 
-		if( NA_IIO_FACTORY_GET_INTERFACE( reader )->read_value ){
+		if( NA_IFACTORY_PROVIDER_GET_INTERFACE( reader )->read_value ){
 
-			value = NA_IIO_FACTORY_GET_INTERFACE( reader )->read_value( reader, reader_data, iddef, messages );
+			value = NA_IFACTORY_PROVIDER_GET_INTERFACE( reader )->read_value( reader, reader_data, iddef, messages );
 		}
 	}
 
diff --git a/src/core/na-io-factory.h b/src/core/na-factory-provider.h
similarity index 64%
rename from src/core/na-io-factory.h
rename to src/core/na-factory-provider.h
index 1b5a481..ec4ce6d 100644
--- a/src/core/na-io-factory.h
+++ b/src/core/na-factory-provider.h
@@ -28,25 +28,25 @@
  *   ... and many others (see AUTHORS)
  */
 
-#ifndef __CORE_NA_IO_FACTORY_H__
-#define __CORE_NA_IO_FACTORY_H__
+#ifndef __CORE_NA_FACTORY_PROVIDER_H__
+#define __CORE_NA_FACTORY_PROVIDER_H__
 
 /**
- * SECTION: na_iio_factory
- * @short_description: #NAIIOFactory interface definition.
- * @include: core/na-io-factory.h
+ * SECTION: na_ifactory_provider
+ * @short_description: #NAIFactoryProvider interface definition.
+ * @include: core/na-factory-provider.h
  */
 
-#include <api/na-iio-factory.h>
+#include <api/na-ifactory-provider.h>
 
 G_BEGIN_DECLS
 
-void         na_io_factory_register  ( GType type, const NadfIdGroup *groups );
-NadfIdGroup *na_io_factory_get_groups( GType type );
-NadfIdType  *na_io_factory_get_idtype_from_gconf_key( const gchar *entry );
+void         na_factory_provider_register  ( GType type, const NadfIdGroup *groups );
+NadfIdGroup *na_factory_provider_get_groups( GType type );
+NadfIdType  *na_factory_provider_get_idtype_from_gconf_key( const gchar *entry );
 
-GValue      *na_io_factory_read_value( const NAIIOFactory *reader, void *reader_data, const NadfIdType *iddef, GSList **messages );
+GValue      *na_factory_provider_read_value( const NAIFactoryProvider *reader, void *reader_data, const NadfIdType *iddef, GSList **messages );
 
 G_END_DECLS
 
-#endif /* __NAUTILUS_ACTIONS_API_NA_IO_FACTORY_H__ */
+#endif /* __NAUTILUS_ACTIONS_API_NA_FACTORY_PROVIDER_H__ */
diff --git a/src/core/na-iio-factory-priv.h b/src/core/na-ifactory-provider-priv.h
similarity index 81%
rename from src/core/na-iio-factory-priv.h
rename to src/core/na-ifactory-provider-priv.h
index be86b48..5f0f866 100644
--- a/src/core/na-iio-factory-priv.h
+++ b/src/core/na-ifactory-provider-priv.h
@@ -28,13 +28,13 @@
  *   ... and many others (see AUTHORS)
  */
 
-#ifndef __CORE_NA_IIO_FACTORY_PRIV_H__
-#define __CORE_NA_IIO_FACTORY_PRIV_H__
+#ifndef __CORE_NA_IFACTORY_PROVIDER_PRIV_H__
+#define __CORE_NA_IFACTORY_PROVIDER_PRIV_H__
 
 /**
- * SECTION: na_iio_factory
- * @short_description: #NAIIOFactory interface private structure declaration.
- * @include: core/na-iio-factory-priv.h
+ * SECTION: na_ifactory_provider
+ * @short_description: #NAIFactoryProvider interface private structure declaration.
+ * @include: core/na-ifactory-priv.h
  */
 
 #include <api/na-idata-factory-str.h>
@@ -52,10 +52,10 @@ typedef struct {
 
 /* private interface data
  */
-struct NAIIOFactoryInterfacePrivate {
+struct NAIFactoryProviderInterfacePrivate {
 	GList *registered;
 };
 
 G_END_DECLS
 
-#endif /* __CORE_NA_IIO_FACTORY_PRIV_H__ */
+#endif /* __CORE_NA_IFACTORY_PROVIDER_PRIV_H__ */
diff --git a/src/core/na-ifactory-provider.c b/src/core/na-ifactory-provider.c
new file mode 100644
index 0000000..9244400
--- /dev/null
+++ b/src/core/na-ifactory-provider.c
@@ -0,0 +1,256 @@
+/*
+ * Nautilus Actions
+ * A Nautilus extension which offers configurable context menu actions.
+ *
+ * Copyright (C) 2005 The GNOME Foundation
+ * Copyright (C) 2006, 2007, 2008 Frederic Ruaudel and others (see AUTHORS)
+ * Copyright (C) 2009, 2010 Pierre Wieser and others (see AUTHORS)
+ *
+ * This Program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This Program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this Library; see the file COPYING.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * Authors:
+ *   Frederic Ruaudel <grumz grumz net>
+ *   Rodrigo Moya <rodrigo gnome-db org>
+ *   Pierre Wieser <pwieser trychlos org>
+ *   ... and many others (see AUTHORS)
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <api/na-ifactory-provider.h>
+
+#include "na-data-factory.h"
+#include "na-ifactory-provider-priv.h"
+#include "na-factory-provider.h"
+
+gboolean               ifactory_provider_initialized = FALSE;
+gboolean               ifactory_provider_finalized   = FALSE;
+NAIFactoryProviderInterface *ifactory_provider_klass       = NULL;
+
+static GType register_type( void );
+static void  interface_base_init( NAIFactoryProviderInterface *klass );
+static void  interface_base_finalize( NAIFactoryProviderInterface *klass );
+
+static guint ifactory_provider_get_version( const NAIFactoryProvider *instance );
+
+static void  v_factory_provider_read_start( const NAIFactoryProvider *reader, void *reader_data, NAIDataFactory *serializable, GSList **messages );
+static void  v_factory_provider_read_done( const NAIFactoryProvider *reader, void *reader_data, NAIDataFactory *serializable, GSList **messages );
+static void  v_factory_provider_write_start( const NAIFactoryProvider *writer, void *writer_data, NAIDataFactory *serializable, GSList **messages );
+static void  v_factory_provider_write_done( const NAIFactoryProvider *writer, void *writer_data, NAIDataFactory *serializable, GSList **messages );
+
+/**
+ * Registers the GType of this interface.
+ */
+GType
+na_ifactory_provider_get_type( void )
+{
+	static GType object_type = 0;
+
+	if( !object_type ){
+		object_type = register_type();
+	}
+
+	return( object_type );
+}
+
+static GType
+register_type( void )
+{
+	static const gchar *thisfn = "na_ifactory_provider_register_type";
+	GType type;
+
+	static const GTypeInfo info = {
+		sizeof( NAIFactoryProviderInterface ),
+		( GBaseInitFunc ) interface_base_init,
+		( GBaseFinalizeFunc ) interface_base_finalize,
+		NULL,
+		NULL,
+		NULL,
+		0,
+		0,
+		NULL
+	};
+
+	g_debug( "%s", thisfn );
+
+	type = g_type_register_static( G_TYPE_INTERFACE, "NAIFactoryProvider", &info, 0 );
+
+	g_type_interface_add_prerequisite( type, G_TYPE_OBJECT );
+
+	return( type );
+}
+
+static void
+interface_base_init( NAIFactoryProviderInterface *klass )
+{
+	static const gchar *thisfn = "na_ifactory_provider_interface_base_init";
+
+	if( !ifactory_provider_initialized ){
+
+		g_debug( "%s: klass=%p (%s)", thisfn, ( void * ) klass, G_OBJECT_CLASS_NAME( klass ));
+
+		klass->private = g_new0( NAIFactoryProviderInterfacePrivate, 1 );
+
+		klass->get_version = ifactory_provider_get_version;
+		klass->read_value = NULL;
+		klass->read_done = NULL;
+		klass->write_value = NULL;
+		klass->write_done = NULL;
+
+		ifactory_provider_klass = klass;
+		ifactory_provider_initialized = TRUE;
+	}
+}
+
+static void
+interface_base_finalize( NAIFactoryProviderInterface *klass )
+{
+	static const gchar *thisfn = "na_ifactory_provider_interface_base_finalize";
+	GList *ip;
+	NadfImplement *known;
+
+	if( ifactory_provider_initialized && !ifactory_provider_finalized ){
+
+		g_debug( "%s: klass=%p", thisfn, ( void * ) klass );
+
+		ifactory_provider_finalized = TRUE;
+
+		for( ip = klass->private->registered ; ip ; ip = ip->next ){
+			known = ( NadfImplement * ) ip->data;
+			g_free( known );
+		}
+		g_list_free( klass->private->registered );
+
+		g_free( klass->private );
+	}
+}
+
+static guint
+ifactory_provider_get_version( const NAIFactoryProvider *instance )
+{
+	return( 1 );
+}
+
+/**
+ * na_ifactory_provider_read_item:
+ * @reader: the instance which implements this #NAIFactoryProvider interface.
+ * @reader_data: instance data.
+ * @type: the #GType which identifies the #NAIDataFactory type.
+ * @messages: a pointer to a #GSList list of strings; the implementation
+ *  may append messages to this list, but shouldn't reinitialize it.
+ *
+ * Returns: a newly instantiated #NAIDataFactory object just readen from @reader.
+ */
+NAIDataFactory *
+na_ifactory_provider_read_item( const NAIFactoryProvider *reader, void *reader_data, GType type, GSList **messages )
+{
+	static const gchar *thisfn = "na_ifactory_provider_read_item";
+	NAIDataFactory *serializable;
+	gchar *msg;
+
+	serializable = NULL;
+
+	if( ifactory_provider_initialized && !ifactory_provider_finalized ){
+
+		g_return_val_if_fail( NA_IS_IFACTORY_PROVIDER( reader ), NULL );
+
+		serializable = na_data_factory_new( type );
+
+		if( serializable ){
+			v_factory_provider_read_start( reader, reader_data, serializable, messages );
+			na_data_factory_read( serializable, reader, reader_data, messages );
+			v_factory_provider_read_done( reader, reader_data, serializable, messages );
+
+		} else {
+			msg = g_strdup_printf( "%s: %ld: unknown type", thisfn, ( long ) type );
+			g_warning( "%s", msg );
+			*messages = g_slist_append( *messages, msg );
+		}
+	}
+
+	return( serializable );
+}
+
+/**
+ * na_ifactory_provider_write_item:
+ * @writer: the instance which implements this #NAIFactoryProvider interface.
+ * @writer_data: instance data.
+ * @serializable: the #NAIDataFactory-derived object to be serialized.
+ * @messages: a pointer to a #GSList list of strings; the implementation
+ *  may append messages to this list, but shouldn't reinitialize it.
+ *
+ * Writes the data down to the FactoryProvider.
+ */
+void
+na_ifactory_provider_write_item( const NAIFactoryProvider *writer, void *writer_data, NAIDataFactory *serializable, GSList **messages )
+{
+	g_return_if_fail( NA_IS_IFACTORY_PROVIDER( writer ));
+	g_return_if_fail( NA_IS_IDATA_FACTORY( serializable ));
+
+	if( ifactory_provider_initialized && !ifactory_provider_finalized ){
+
+		v_factory_provider_write_start( writer, writer_data, serializable, messages );
+		na_data_factory_write( serializable, writer, writer_data, messages );
+		v_factory_provider_write_done( writer, writer_data, serializable, messages );
+	}
+}
+
+/**
+ * na_ifactory_provider_get_idtype_from_gconf_key:
+ * @entry: the name of the node we are searching for.
+ *
+ * Returns: the definition of the data which is exported as @entry in GConf,
+ * or %NULL if not found.
+ */
+NadfIdType *
+na_ifactory_provider_get_idtype_from_gconf_key( const gchar *entry )
+{
+	return( na_factory_provider_get_idtype_from_gconf_key( entry ));
+}
+
+static void
+v_factory_provider_read_start( const NAIFactoryProvider *reader, void *reader_data, NAIDataFactory *serializable, GSList **messages )
+{
+	if( NA_IFACTORY_PROVIDER_GET_INTERFACE( reader )->read_start ){
+		NA_IFACTORY_PROVIDER_GET_INTERFACE( reader )->read_start( reader, reader_data, serializable, messages );
+	}
+}
+
+static void
+v_factory_provider_read_done( const NAIFactoryProvider *reader, void *reader_data, NAIDataFactory *serializable, GSList **messages )
+{
+	if( NA_IFACTORY_PROVIDER_GET_INTERFACE( reader )->read_done ){
+		NA_IFACTORY_PROVIDER_GET_INTERFACE( reader )->read_done( reader, reader_data, serializable, messages );
+	}
+}
+
+static void
+v_factory_provider_write_start( const NAIFactoryProvider *writer, void *writer_data, NAIDataFactory *serializable, GSList **messages )
+{
+	if( NA_IFACTORY_PROVIDER_GET_INTERFACE( writer )->write_start ){
+		NA_IFACTORY_PROVIDER_GET_INTERFACE( writer )->write_start( writer, writer_data, serializable, messages );
+	}
+}
+
+static void
+v_factory_provider_write_done( const NAIFactoryProvider *writer, void *writer_data, NAIDataFactory *serializable, GSList **messages )
+{
+	if( NA_IFACTORY_PROVIDER_GET_INTERFACE( writer )->write_done ){
+		NA_IFACTORY_PROVIDER_GET_INTERFACE( writer )->write_done( writer, writer_data, serializable, messages );
+	}
+}
diff --git a/src/core/na-object-action.c b/src/core/na-object-action.c
index 34551e1..837cfb8 100644
--- a/src/core/na-object-action.c
+++ b/src/core/na-object-action.c
@@ -36,7 +36,7 @@
 
 #include <api/na-object-api.h>
 
-#include "na-io-factory.h"
+#include "na-factory-provider.h"
 #include "na-data-factory.h"
 
 /* private class data
@@ -74,8 +74,8 @@ static gchar   *idata_factory_get_default( const NAIDataFactory *instance, const
 static void     idata_factory_copy( NAIDataFactory *target, const NAIDataFactory *source );
 static gboolean idata_factory_are_equal( const NAIDataFactory *a, const NAIDataFactory *b );
 static gboolean idata_factory_is_valid( const NAIDataFactory *object );
-static void     idata_factory_read_done( NAIDataFactory *instance, const NAIIOFactory *reader, void *reader_data, GSList **messages );
-static void     idata_factory_write_done( NAIDataFactory *instance, const NAIIOFactory *writer, void *writer_data, GSList **messages );
+static void     idata_factory_read_done( NAIDataFactory *instance, const NAIFactoryProvider *reader, void *reader_data, GSList **messages );
+static void     idata_factory_write_done( NAIDataFactory *instance, const NAIFactoryProvider *writer, void *writer_data, GSList **messages );
 
 static gboolean object_object_is_valid( const NAObjectAction *action );
 static gboolean is_valid_label( const NAObjectAction *action );
@@ -124,7 +124,7 @@ register_type( void )
 
 	g_type_add_interface_static( type, NA_IDATA_FACTORY_TYPE, &idata_factory_iface_info );
 
-	na_io_factory_register( type, action_id_groups );
+	na_factory_provider_register( type, action_id_groups );
 
 	return( type );
 }
@@ -315,7 +315,7 @@ idata_factory_is_valid( const NAIDataFactory *object )
 }
 
 static void
-idata_factory_read_done( NAIDataFactory *instance, const NAIIOFactory *reader, void *reader_data, GSList **messages )
+idata_factory_read_done( NAIDataFactory *instance, const NAIFactoryProvider *reader, void *reader_data, GSList **messages )
 {
 	g_debug( "na_object_action_idata_factory_read_done: instance=%p", ( void * ) instance );
 
@@ -323,7 +323,7 @@ idata_factory_read_done( NAIDataFactory *instance, const NAIIOFactory *reader, v
 }
 
 static void
-idata_factory_write_done( NAIDataFactory *instance, const NAIIOFactory *writer, void *writer_data, GSList **messages )
+idata_factory_write_done( NAIDataFactory *instance, const NAIFactoryProvider *writer, void *writer_data, GSList **messages )
 {
 
 }
diff --git a/src/core/na-object-menu.c b/src/core/na-object-menu.c
index 59f2738..13eaa65 100644
--- a/src/core/na-object-menu.c
+++ b/src/core/na-object-menu.c
@@ -37,7 +37,7 @@
 #include <api/na-idata-factory.h>
 #include <api/na-object-api.h>
 
-#include "na-io-factory.h"
+#include "na-factory-provider.h"
 #include "na-data-factory.h"
 
 /* private class data
@@ -75,8 +75,8 @@ static gchar   *idata_factory_get_default( const NAIDataFactory *instance, const
 static void     idata_factory_copy( NAIDataFactory *target, const NAIDataFactory *source );
 static gboolean idata_factory_are_equal( const NAIDataFactory *a, const NAIDataFactory *b );
 static gboolean idata_factory_is_valid( const NAIDataFactory *object );
-static void     idata_factory_read_done( NAIDataFactory *instance, const NAIIOFactory *reader, void *reader_data, GSList **messages );
-static void     idata_factory_write_done( NAIDataFactory *instance, const NAIIOFactory *writer, void *writer_data, GSList **messages );
+static void     idata_factory_read_done( NAIDataFactory *instance, const NAIFactoryProvider *reader, void *reader_data, GSList **messages );
+static void     idata_factory_write_done( NAIDataFactory *instance, const NAIFactoryProvider *writer, void *writer_data, GSList **messages );
 
 static gboolean menu_is_valid( const NAObjectMenu *menu );
 static gboolean is_valid_label( const NAObjectMenu *menu );
@@ -124,7 +124,7 @@ register_type( void )
 
 	g_type_add_interface_static( type, NA_IDATA_FACTORY_TYPE, &idata_factory_iface_info );
 
-	na_io_factory_register( type, menu_id_groups );
+	na_factory_provider_register( type, menu_id_groups );
 
 	return( type );
 }
@@ -314,13 +314,13 @@ idata_factory_is_valid( const NAIDataFactory *object )
 }
 
 static void
-idata_factory_read_done( NAIDataFactory *instance, const NAIIOFactory *reader, void *reader_data, GSList **messages )
+idata_factory_read_done( NAIDataFactory *instance, const NAIFactoryProvider *reader, void *reader_data, GSList **messages )
 {
 
 }
 
 static void
-idata_factory_write_done( NAIDataFactory *instance, const NAIIOFactory *writer, void *writer_data, GSList **messages )
+idata_factory_write_done( NAIDataFactory *instance, const NAIFactoryProvider *writer, void *writer_data, GSList **messages )
 {
 
 }
diff --git a/src/core/na-object-profile.c b/src/core/na-object-profile.c
index fbf164a..522ac93 100644
--- a/src/core/na-object-profile.c
+++ b/src/core/na-object-profile.c
@@ -42,7 +42,7 @@
 #include <api/na-idata-factory.h>
 #include <api/na-object-api.h>
 
-#include "na-io-factory.h"
+#include "na-factory-provider.h"
 #include "na-data-factory.h"
 #include "na-dbus-tracker.h"
 #include "na-gnome-vfs-uri.h"
@@ -82,8 +82,8 @@ static void     idata_factory_iface_init( NAIDataFactoryInterface *iface );
 static guint    idata_factory_get_version( const NAIDataFactory *instance );
 static gchar   *idata_factory_get_default( const NAIDataFactory *instance, const NadfIdType *iddef );
 static gboolean idata_factory_is_valid( const NAIDataFactory *object );
-static void     idata_factory_read_done( NAIDataFactory *instance, const NAIIOFactory *reader, void *reader_data, GSList **messages );
-static void     idata_factory_write_done( NAIDataFactory *instance, const NAIIOFactory *writer, void *writer_data, GSList **messages );
+static void     idata_factory_read_done( NAIDataFactory *instance, const NAIFactoryProvider *reader, void *reader_data, GSList **messages );
+static void     idata_factory_write_done( NAIDataFactory *instance, const NAIFactoryProvider *writer, void *writer_data, GSList **messages );
 
 static gboolean profile_is_valid( const NAObjectProfile *profile );
 static gboolean is_valid_path_parameters( const NAObjectProfile *profile );
@@ -151,7 +151,7 @@ register_type( void )
 
 	g_type_add_interface_static( type, NA_IDATA_FACTORY_TYPE, &idata_factory_iface_info );
 
-	na_io_factory_register( type, profile_id_groups );
+	na_factory_provider_register( type, profile_id_groups );
 
 	return( type );
 }
@@ -344,13 +344,13 @@ idata_factory_is_valid( const NAIDataFactory *object )
 }
 
 static void
-idata_factory_read_done( NAIDataFactory *instance, const NAIIOFactory *reader, void *reader_data, GSList **messages )
+idata_factory_read_done( NAIDataFactory *instance, const NAIFactoryProvider *reader, void *reader_data, GSList **messages )
 {
 
 }
 
 static void
-idata_factory_write_done( NAIDataFactory *instance, const NAIIOFactory *writer, void *writer_data, GSList **messages )
+idata_factory_write_done( NAIDataFactory *instance, const NAIFactoryProvider *writer, void *writer_data, GSList **messages )
 {
 
 }
diff --git a/src/io-desktop/nadp-desktop-provider.c b/src/io-desktop/nadp-desktop-provider.c
index a20afdd..c701725 100644
--- a/src/io-desktop/nadp-desktop-provider.c
+++ b/src/io-desktop/nadp-desktop-provider.c
@@ -37,7 +37,7 @@
 
 #include <api/na-core-utils.h>
 #include <api/na-iio-provider.h>
-#include <api/na-iio-factory.h>
+#include <api/na-ifactory-provider.h>
 
 #include "nadp-desktop-provider.h"
 #include "nadp-keys.h"
@@ -63,11 +63,11 @@ 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 *reader );
-static void    iio_factory_read_start( const NAIIOFactory *reader, void *reader_data, NAIDataFactory *serializable, GSList **messages );
-static GValue *iio_factory_read_value( const NAIIOFactory *reader, void *reader_data, const NadfIdType *iddef, GSList **messages );
-static void    iio_factory_read_done( const NAIIOFactory *reader, void *reader_data, NAIDataFactory *serializable, GSList **messages );
+static void    ifactory_provider_iface_init( NAIFactoryProviderInterface *iface );
+static guint   ifactory_provider_get_version( const NAIFactoryProvider *reader );
+static void    ifactory_provider_read_start( const NAIFactoryProvider *reader, void *reader_data, NAIDataFactory *serializable, GSList **messages );
+static GValue *ifactory_provider_read_value( const NAIFactoryProvider *reader, void *reader_data, const NadfIdType *iddef, GSList **messages );
+static void    ifactory_provider_read_done( const NAIFactoryProvider *reader, void *reader_data, NAIDataFactory *serializable, GSList **messages );
 
 GType
 nadp_desktop_provider_get_type( void )
@@ -98,8 +98,8 @@ nadp_desktop_provider_register_type( GTypeModule *module )
 		NULL
 	};
 
-	static const GInterfaceInfo iio_factory_iface_info = {
-		( GInterfaceInitFunc ) iio_factory_iface_init,
+	static const GInterfaceInfo ifactory_provider_iface_info = {
+		( GInterfaceInitFunc ) ifactory_provider_iface_init,
 		NULL,
 		NULL
 	};
@@ -110,7 +110,7 @@ nadp_desktop_provider_register_type( GTypeModule *module )
 
 	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 );
+	g_type_module_add_interface( module, st_module_type, NA_IFACTORY_PROVIDER_TYPE, &ifactory_provider_iface_info );
 }
 
 static void
@@ -219,23 +219,23 @@ iio_provider_get_name( const NAIIOProvider *provider )
 }
 
 static void
-iio_factory_iface_init( NAIIOFactoryInterface *iface )
+ifactory_provider_iface_init( NAIFactoryProviderInterface *iface )
 {
-	static const gchar *thisfn = "nadp_desktop_provider_iio_factory_iface_init";
+	static const gchar *thisfn = "nadp_desktop_provider_ifactory_provider_iface_init";
 
 	g_debug( "%s: iface=%p", thisfn, ( void * ) iface );
 
-	iface->get_version = iio_factory_get_version;
-	iface->read_start = iio_factory_read_start;
-	iface->read_value = iio_factory_read_value;
-	iface->read_done = iio_factory_read_done;
+	iface->get_version = ifactory_provider_get_version;
+	iface->read_start = ifactory_provider_read_start;
+	iface->read_value = ifactory_provider_read_value;
+	iface->read_done = ifactory_provider_read_done;
 	iface->write_start = NULL;
 	iface->write_value = NULL;
 	iface->write_done = NULL;
 }
 
 static guint
-iio_factory_get_version( const NAIIOFactory *reader )
+ifactory_provider_get_version( const NAIFactoryProvider *reader )
 {
 	return( 1 );
 }
@@ -244,9 +244,9 @@ iio_factory_get_version( const NAIIOFactory *reader )
  * called before starting with reading an object
  */
 static void
-iio_factory_read_start( const NAIIOFactory *reader, void *reader_data, NAIDataFactory *serializable, GSList **messages )
+ifactory_provider_read_start( const NAIFactoryProvider *reader, void *reader_data, NAIDataFactory *serializable, GSList **messages )
 {
-	static const gchar *thisfn = "nadp_desktop_provider_iio_factory_read_start";
+	static const gchar *thisfn = "nadp_desktop_provider_ifactory_provider_read_start";
 
 	g_debug( "%s: reader=%p (%s), reader_data=%p, serializable=%p (%s), messages=%p",
 			thisfn,
@@ -255,7 +255,7 @@ iio_factory_read_start( const NAIIOFactory *reader, void *reader_data, NAIDataFa
 			( void * ) serializable, G_OBJECT_TYPE_NAME( serializable ),
 			( void * ) messages );
 
-	g_return_if_fail( NA_IS_IIO_FACTORY( reader ));
+	g_return_if_fail( NA_IS_IFACTORY_PROVIDER( reader ));
 	g_return_if_fail( NADP_IS_DESKTOP_PROVIDER( reader ));
 	g_return_if_fail( NA_IS_IDATA_FACTORY( serializable ));
 
@@ -272,9 +272,9 @@ iio_factory_read_start( const NAIIOFactory *reader, void *reader_data, NAIDataFa
  * - group and key names
  */
 static GValue *
-iio_factory_read_value( const NAIIOFactory *reader, void *reader_data, const NadfIdType *iddef, GSList **messages )
+ifactory_provider_read_value( const NAIFactoryProvider *reader, void *reader_data, const NadfIdType *iddef, GSList **messages )
 {
-	static const gchar *thisfn = "nadp_desktop_provider_iio_factory_read_value";
+	static const gchar *thisfn = "nadp_desktop_provider_ifactory_provider_read_value";
 	NadpReaderData *nrd;
 	GValue *value;
 	gchar *group, *key;
@@ -290,7 +290,7 @@ iio_factory_read_value( const NAIIOFactory *reader, void *reader_data, const Nad
 			( void * ) iddef,
 			( void * ) messages );*/
 
-	g_return_val_if_fail( NA_IS_IIO_FACTORY( reader ), NULL );
+	g_return_val_if_fail( NA_IS_IFACTORY_PROVIDER( reader ), NULL );
 	g_return_val_if_fail( NADP_IS_DESKTOP_PROVIDER( reader ), NULL );
 	g_return_val_if_fail( iddef->serializable, NULL );
 
@@ -356,9 +356,9 @@ iio_factory_read_value( const NAIIOFactory *reader, void *reader_data, const Nad
  * nothing to do here
  */
 static void
-iio_factory_read_done( const NAIIOFactory *reader, void *reader_data, NAIDataFactory *serializable, GSList **messages )
+ifactory_provider_read_done( const NAIFactoryProvider *reader, void *reader_data, NAIDataFactory *serializable, GSList **messages )
 {
-	static const gchar *thisfn = "nadp_desktop_provider_iio_factory_read_done";
+	static const gchar *thisfn = "nadp_desktop_provider_ifactory_provider_read_done";
 	/*NAObjectProfile *profile;*/
 
 	g_debug( "%s: reader=%p (%s), reader_data=%p, serializable=%p (%s), messages=%p",
@@ -368,7 +368,7 @@ iio_factory_read_done( const NAIIOFactory *reader, void *reader_data, NAIDataFac
 			( void * ) serializable, G_OBJECT_TYPE_NAME( serializable ),
 			( void * ) messages );
 
-	g_return_if_fail( NA_IS_IIO_FACTORY( reader ));
+	g_return_if_fail( NA_IS_IFACTORY_PROVIDER( reader ));
 	g_return_if_fail( NADP_IS_DESKTOP_PROVIDER( reader ));
 	g_return_if_fail( NA_IS_IDATA_FACTORY( serializable ));
 
diff --git a/src/io-desktop/nadp-reader.c b/src/io-desktop/nadp-reader.c
index e2dcd2d..5e16a57 100644
--- a/src/io-desktop/nadp-reader.c
+++ b/src/io-desktop/nadp-reader.c
@@ -36,7 +36,7 @@
 
 #include <api/na-core-utils.h>
 #include <api/na-idata-factory-enum.h>
-#include <api/na-iio-factory.h>
+#include <api/na-ifactory-provider.h>
 #include <api/na-object-api.h>
 
 #include "nadp-desktop-provider.h"
@@ -269,7 +269,7 @@ item_from_desktop_path( const NadpDesktopProvider *provider, DesktopPath *dps, G
 		reader_data = g_new0( NadpReaderData, 1 );
 		reader_data->ndf = ndf;
 
-		item = na_iio_factory_read_item( NA_IIO_FACTORY( provider ), reader_data, reader_type, messages );
+		item = na_ifactory_provider_read_item( NA_IFACTORY_PROVIDER( provider ), reader_data, reader_type, messages );
 
 		if( item ){
 			id = nadp_desktop_file_get_id( ndf );
diff --git a/src/io-desktop/nadp-writer.c b/src/io-desktop/nadp-writer.c
index fcb31bc..2f205fa 100644
--- a/src/io-desktop/nadp-writer.c
+++ b/src/io-desktop/nadp-writer.c
@@ -36,7 +36,7 @@
 
 #include <api/na-core-utils.h>
 #include <api/na-object-api.h>
-#include <api/na-iio-factory.h>
+#include <api/na-ifactory-provider.h>
 
 #include "nadp-desktop-file.h"
 #include "nadp-desktop-provider.h"
@@ -226,7 +226,7 @@ write_item( const NAIIOProvider *provider, const NAObjectItem *item, NadpDesktop
 
 	g_return_val_if_fail( NA_IS_IIO_PROVIDER( provider ), ret );
 	g_return_val_if_fail( NADP_IS_DESKTOP_PROVIDER( provider ), ret );
-	g_return_val_if_fail( NA_IS_IIO_FACTORY( provider ), ret );
+	g_return_val_if_fail( NA_IS_IFACTORY_PROVIDER( provider ), ret );
 
 	g_return_val_if_fail( NA_IS_OBJECT_ITEM( item ), ret );
 	g_return_val_if_fail( NA_IS_IDATA_FACTORY( item ), ret );
@@ -241,7 +241,7 @@ write_item( const NAIIOProvider *provider, const NAObjectItem *item, NadpDesktop
 
 	ret = NA_IIO_PROVIDER_CODE_OK;
 
-	na_iio_factory_write_item( NA_IIO_FACTORY( provider ), ndf, NA_IDATA_FACTORY( item ), messages );
+	na_ifactory_provider_write_item( NA_IFACTORY_PROVIDER( provider ), ndf, NA_IDATA_FACTORY( item ), messages );
 
 	if( !nadp_desktop_file_write( ndf )){
 		ret = NA_IIO_PROVIDER_CODE_WRITE_ERROR;
diff --git a/src/io-gconf/nagp-gconf-provider.c b/src/io-gconf/nagp-gconf-provider.c
index 5a0d35e..091b802 100644
--- a/src/io-gconf/nagp-gconf-provider.c
+++ b/src/io-gconf/nagp-gconf-provider.c
@@ -35,7 +35,7 @@
 #include <glib/gi18n.h>
 #include <string.h>
 
-#include <api/na-iio-factory.h>
+#include <api/na-ifactory-provider.h>
 #include <api/na-iio-provider.h>
 #include <api/na-gconf-monitor.h>
 
@@ -65,8 +65,8 @@ 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 void     ifactory_provider_iface_init( NAIFactoryProviderInterface *iface );
+static guint    ifactory_provider_get_version( const NAIFactoryProvider *provider );
 
 static GList   *install_monitors( NagpGConfProvider *provider );
 static void     config_path_changed_cb( GConfClient *client, guint cnxn_id, GConfEntry *entry, NagpGConfProvider *provider );
@@ -105,8 +105,8 @@ nagp_gconf_provider_register_type( GTypeModule *module )
 		NULL
 	};
 
-	static const GInterfaceInfo iio_factory_iface_info = {
-		( GInterfaceInitFunc ) iio_factory_iface_init,
+	static const GInterfaceInfo ifactory_provider_iface_info = {
+		( GInterfaceInitFunc ) ifactory_provider_iface_init,
 		NULL,
 		NULL
 	};
@@ -117,7 +117,7 @@ nagp_gconf_provider_register_type( GTypeModule *module )
 
 	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 );
+	g_type_module_add_interface( module, st_module_type, NA_IFACTORY_PROVIDER_TYPE, &ifactory_provider_iface_info );
 }
 
 static void
@@ -234,13 +234,13 @@ iio_provider_get_version( const NAIIOProvider *provider )
 }
 
 static void
-iio_factory_iface_init( NAIIOFactoryInterface *iface )
+ifactory_provider_iface_init( NAIFactoryProviderInterface *iface )
 {
-	static const gchar *thisfn = "nagp_gconf_provider_iio_factory_iface_init";
+	static const gchar *thisfn = "nagp_gconf_provider_ifactory_provider_iface_init";
 
 	g_debug( "%s: iface=%p", thisfn, ( void * ) iface );
 
-	iface->get_version = iio_factory_get_version;
+	iface->get_version = ifactory_provider_get_version;
 	iface->read_start = NULL;
 	iface->read_value = NULL;
 	iface->read_done = NULL;
@@ -250,7 +250,7 @@ iio_factory_iface_init( NAIIOFactoryInterface *iface )
 }
 
 static guint
-iio_factory_get_version( const NAIIOFactory *provider )
+ifactory_provider_get_version( const NAIFactoryProvider *provider )
 {
 	return( 1 );
 }
diff --git a/src/io-xml/naxml-provider.c b/src/io-xml/naxml-provider.c
index 3d4bcd3..5ae9c73 100644
--- a/src/io-xml/naxml-provider.c
+++ b/src/io-xml/naxml-provider.c
@@ -34,7 +34,7 @@
 
 #include <glib/gi18n.h>
 
-#include <api/na-iio-factory.h>
+#include <api/na-ifactory-provider.h>
 #include <api/na-iexporter.h>
 #include <api/na-iimporter.h>
 
@@ -106,8 +106,8 @@ static void                 iexporter_iface_init( NAIExporterInterface *iface );
 static guint                iexporter_get_version( const NAIExporter *exporter );
 static const NAExporterStr *iexporter_get_formats( const NAIExporter *exporter );
 
-static void                 iio_factory_iface_init( NAIIOFactoryInterface *iface );
-static guint                iio_factory_get_version( const NAIIOFactory *factory );
+static void                 ifactory_provider_iface_init( NAIFactoryProviderInterface *iface );
+static guint                ifactory_provider_get_version( const NAIFactoryProvider *factory );
 
 GType
 naxml_provider_get_type( void )
@@ -144,8 +144,8 @@ naxml_provider_register_type( GTypeModule *module )
 		NULL
 	};
 
-	static const GInterfaceInfo iio_factory_iface_info = {
-		( GInterfaceInitFunc ) iio_factory_iface_init,
+	static const GInterfaceInfo ifactory_provider_iface_info = {
+		( GInterfaceInitFunc ) ifactory_provider_iface_init,
 		NULL,
 		NULL
 	};
@@ -158,7 +158,7 @@ naxml_provider_register_type( GTypeModule *module )
 
 	g_type_module_add_interface( module, st_module_type, NA_IEXPORTER_TYPE, &iexporter_iface_info );
 
-	g_type_module_add_interface( module, st_module_type, NA_IIO_FACTORY_TYPE, &iio_factory_iface_info );
+	g_type_module_add_interface( module, st_module_type, NA_IFACTORY_PROVIDER_TYPE, &ifactory_provider_iface_info );
 }
 
 static void
@@ -274,13 +274,13 @@ iexporter_get_formats( const NAIExporter *exporter )
 }
 
 static void
-iio_factory_iface_init( NAIIOFactoryInterface *iface )
+ifactory_provider_iface_init( NAIFactoryProviderInterface *iface )
 {
-	static const gchar *thisfn = "naxml_provider_iio_factory_iface_init";
+	static const gchar *thisfn = "naxml_provider_ifactory_provider_iface_init";
 
 	g_debug( "%s: iface=%p", thisfn, ( void * ) iface );
 
-	iface->get_version = iio_factory_get_version;
+	iface->get_version = ifactory_provider_get_version;
 	iface->read_start = NULL;
 	iface->read_value = NULL;
 	iface->read_done = NULL;
@@ -290,7 +290,7 @@ iio_factory_iface_init( NAIIOFactoryInterface *iface )
 }
 
 static guint
-iio_factory_get_version( const NAIIOFactory *factory )
+ifactory_provider_get_version( const NAIFactoryProvider *factory )
 {
 	return( 1 );
 }
diff --git a/src/io-xml/naxml-reader.c b/src/io-xml/naxml-reader.c
index 601ed94..0bb893e 100644
--- a/src/io-xml/naxml-reader.c
+++ b/src/io-xml/naxml-reader.c
@@ -37,7 +37,7 @@
 #include <string.h>
 
 #include <api/na-core-utils.h>
-#include <api/na-iio-factory.h>
+#include <api/na-ifactory-provider.h>
 #include <api/na-object-api.h>
 
 #include <io-gconf/nagp-keys.h>
@@ -899,7 +899,7 @@ set_schema_applyto_value( NAXMLReader *reader, xmlNode *node, const gchar *entry
 {
 	gchar *value;
 
-	NadfIdType *iddef = na_iio_factory_get_idtype_from_gconf_key( entry );
+	NadfIdType *iddef = na_ifactory_provider_get_idtype_from_gconf_key( entry );
 	if( iddef ){
 		reader->private->iddef = iddef;
 		g_debug( "%s: localizable=%s", iddef->name, iddef->localizable ? "True":"False" );



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