[nautilus-actions] Define NAIIOFactory interface
- From: Pierre Wieser <pwieser src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus-actions] Define NAIIOFactory interface
- Date: Fri, 19 Feb 2010 02:24:27 +0000 (UTC)
commit 1cd7c669527ca8ab92e20417ad700413780f1d7f
Author: Pierre Wieser <pwieser trychlos org>
Date: Mon Feb 15 17:55:47 2010 +0100
Define NAIIOFactory interface
src/api/na-iio-factory-factory.h | 46 ++++++++
src/api/na-iio-factory.h | 144 ++++++++++++++++++++++++
src/core/na-iio-factory.c | 223 ++++++++++++++++++++++++++++++++++++++
src/core/na-io-factory.c | 132 ++++++++++++++++++++++
src/core/na-io-factory.h | 51 +++++++++
5 files changed, 596 insertions(+), 0 deletions(-)
---
diff --git a/src/api/na-iio-factory-factory.h b/src/api/na-iio-factory-factory.h
new file mode 100644
index 0000000..879a58e
--- /dev/null
+++ b/src/api/na-iio-factory-factory.h
@@ -0,0 +1,46 @@
+/*
+ * 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)
+ */
+
+#ifndef __NAUTILUS_ACTIONS_API_NA_IIO_FACTORY_FACTORY_H__
+#define __NAUTILUS_ACTIONS_API_NA_IIO_FACTORY_FACTORY_H__
+
+/**
+ * SECTION: na_iio_factory
+ * @short_description: #NAIIOFactory interface definition.
+ * @include: nautilus-actions/na-iio_factory-fn.h
+ */
+
+G_BEGIN_DECLS
+
+typedef struct NAIIOFactory NAIIOFactory;
+
+G_END_DECLS
+
+#endif /* __NAUTILUS_ACTIONS_API_NA_IIO_FACTORY_FACTORY_H__ */
diff --git a/src/api/na-iio-factory.h b/src/api/na-iio-factory.h
new file mode 100644
index 0000000..2dfbaf7
--- /dev/null
+++ b/src/api/na-iio-factory.h
@@ -0,0 +1,144 @@
+/*
+ * 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)
+ */
+
+#ifndef __NAUTILUS_ACTIONS_API_NA_IIO_FACTORY_H__
+#define __NAUTILUS_ACTIONS_API_NA_IIO_FACTORY_H__
+
+/**
+ * SECTION: na_iio_factory
+ * @short_description: #NAIIOFactory interface definition.
+ * @include: nautilus-actions/na-iio_factory.h
+ *
+ * This is the interface used by data factory management system for
+ * having serialization/unserialization services. This interface should
+ * be implemented by I/O providers which would take advantage of this
+ * system.
+ *
+ * Nautilus-Actions v 2.30 - API version: 1
+ */
+
+#include "na-idata-factory.h"
+#include "na-iio-factory-factory.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 ))
+
+typedef struct NAIIOFactoryInterfacePrivate NAIIOFactoryInterfacePrivate;
+
+typedef struct {
+ GTypeInterface parent;
+ NAIIOFactoryInterfacePrivate *private;
+
+ /**
+ * get_version:
+ * @instance: this #NAIIOFactory instance.
+ *
+ * Returns: the version of this interface supported by @instance implementation.
+ *
+ * Defaults to 1.
+ */
+ guint ( *get_version )( const NAIIOFactory *instance );
+
+ /**
+ * read_value:
+ * @reader: this #NAIIOFactory 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
+ * may append messages to this list, but shouldn't reinitialize it.
+ *
+ * Returns: a newly allocated #GValue, or %NULL if an error has occurred.
+ *
+ * Note that a string list should be returned as a #GValue of type
+ * G_TYPE_POINTER, which itself must be a GSList pointer.
+ *
+ * The returned #GValue, and its content if apply, will be freed
+ * by the caller.
+ *
+ * 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 );
+
+ /**
+ * read_done:
+ * @reader: this #NAIIOFactory 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
+ * may append messages to this list, but shouldn't reinitialize it.
+ *
+ * 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 );
+
+ /**
+ * write_value:
+ * @writer: this #NAIIOFactory 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.
+ * @messages: a pointer to a #GSList list of strings; the provider
+ * may append messages to this list, but shouldn't reinitialize it.
+ *
+ * Write the data embedded in @value down to @instance.
+ *
+ * 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 );
+
+ /**
+ * write_done:
+ * @writer: this #NAIIOFactory 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
+ * may append messages to this list, but shouldn't reinitialize it.
+ *
+ * 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 );
+}
+ NAIIOFactoryInterface;
+
+GType na_iio_factory_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 );
+
+G_END_DECLS
+
+#endif /* __NAUTILUS_ACTIONS_API_NA_IIO_FACTORY_H__ */
diff --git a/src/core/na-iio-factory.c b/src/core/na-iio-factory.c
new file mode 100644
index 0000000..aa9cc0b
--- /dev/null
+++ b/src/core/na-iio-factory.c
@@ -0,0 +1,223 @@
+/*
+ * 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-iio-factory.h>
+
+#include "na-data-factory.h"
+#include "na-iio-factory-priv.h"
+#include "na-io-factory.h"
+
+gboolean iio_factory_initialized = FALSE;
+gboolean iio_factory_finalized = FALSE;
+NAIIOFactoryInterface *iio_factory_klass = NULL;
+
+static GType register_type( void );
+static void interface_base_init( NAIIOFactoryInterface *klass );
+static void interface_base_finalize( NAIIOFactoryInterface *klass );
+
+static guint iio_factory_get_version( const NAIIOFactory *instance );
+
+static void v_io_factory_read_done( const NAIIOFactory *reader, void *reader_data, NAIDataFactory *serializable, GSList **messages );
+static void v_io_factory_write_done( const NAIIOFactory *writer, void *writer_data, NAIDataFactory *serializable, GSList **messages );
+
+/**
+ * Registers the GType of this interface.
+ */
+GType
+na_iio_factory_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_iio_factory_register_type";
+ GType type;
+
+ static const GTypeInfo info = {
+ sizeof( NAIIOFactoryInterface ),
+ ( 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, "NAIIOFactory", &info, 0 );
+
+ g_type_interface_add_prerequisite( type, G_TYPE_OBJECT );
+
+ return( type );
+}
+
+static void
+interface_base_init( NAIIOFactoryInterface *klass )
+{
+ static const gchar *thisfn = "na_iio_factory_interface_base_init";
+
+ if( !iio_factory_initialized ){
+
+ g_debug( "%s: klass=%p (%s)", thisfn, ( void * ) klass, G_OBJECT_CLASS_NAME( klass ));
+
+ klass->private = g_new0( NAIIOFactoryInterfacePrivate, 1 );
+
+ klass->get_version = iio_factory_get_version;
+ klass->read_value = NULL;
+ klass->read_done = NULL;
+ klass->write_value = NULL;
+ klass->write_done = NULL;
+
+ iio_factory_klass = klass;
+ iio_factory_initialized = TRUE;
+ }
+}
+
+static void
+interface_base_finalize( NAIIOFactoryInterface *klass )
+{
+ static const gchar *thisfn = "na_iio_factory_interface_base_finalize";
+ GList *ip;
+ NadfImplement *known;
+
+ if( iio_factory_initialized && !iio_factory_finalized ){
+
+ g_debug( "%s: klass=%p", thisfn, ( void * ) klass );
+
+ iio_factory_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
+iio_factory_get_version( const NAIIOFactory *instance )
+{
+ return( 1 );
+}
+
+/**
+ * na_iio_factory_read_item:
+ * @reader: the instance which implements this #NAIIOFactory 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_iio_factory_read_item( const NAIIOFactory *reader, void *reader_data, GType type, GSList **messages )
+{
+ static const gchar *thisfn = "na_iio_factory_read_item";
+ NAIDataFactory *serializable;
+ gchar *msg;
+
+ serializable = NULL;
+
+ if( iio_factory_initialized && !iio_factory_finalized ){
+
+ g_return_val_if_fail( NA_IS_IIO_FACTORY( reader ), NULL );
+
+ serializable = na_data_factory_new( type );
+
+ if( serializable ){
+ na_data_factory_read( serializable, reader, reader_data, messages );
+ v_io_factory_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_iio_factory_write_item:
+ * @writer: the instance which implements this #NAIIOFactory 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 IOFactory.
+ */
+void
+na_iio_factory_write_item( const NAIIOFactory *writer, void *writer_data, NAIDataFactory *serializable, GSList **messages )
+{
+ g_return_if_fail( NA_IS_IIO_FACTORY( writer ));
+ g_return_if_fail( NA_IS_IDATA_FACTORY( serializable ));
+
+ if( iio_factory_initialized && !iio_factory_finalized ){
+
+ na_data_factory_write( serializable, writer, writer_data, messages );
+ v_io_factory_write_done( writer, writer_data, serializable, messages );
+ }
+}
+
+static void
+v_io_factory_read_done( const NAIIOFactory *reader, void *reader_data, NAIDataFactory *serializable, GSList **messages )
+{
+ if( NA_IIO_FACTORY_GET_INTERFACE( reader )->read_done ){
+ NA_IIO_FACTORY_GET_INTERFACE( reader )->read_done( reader, reader_data, serializable, messages );
+ }
+}
+
+static void
+v_io_factory_write_done( const NAIIOFactory *writer, void *writer_data, NAIDataFactory *serializable, GSList **messages )
+{
+ if( NA_IIO_FACTORY_GET_INTERFACE( writer )->write_done ){
+ NA_IIO_FACTORY_GET_INTERFACE( writer )->write_done( writer, writer_data, serializable, messages );
+ }
+}
diff --git a/src/core/na-io-factory.c b/src/core/na-io-factory.c
new file mode 100644
index 0000000..fb83b60
--- /dev/null
+++ b/src/core/na-io-factory.c
@@ -0,0 +1,132 @@
+/*
+ * 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 "na-iio-factory-priv.h"
+#include "na-io-factory.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 */
+
+/**
+ * na_io_factory_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
+ * this class at serialization time.
+ *
+ * Registers the implementation #GType @type.
+ */
+void
+na_io_factory_register( GType type, const NadfIdGroup *groups )
+{
+ static const gchar *thisfn = "na_io_factory_register";
+ NadfImplement *known;
+ NadfIdGroup *registered;
+
+ if( iio_factory_initialized && !iio_factory_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 );
+ if( registered ){
+ g_warning( "%s: type=%lu: already registered", thisfn, ( unsigned long ) type );
+
+ } else {
+ /* register the implementation
+ */
+ known = g_new0( NadfImplement, 1 );
+ known->type = type;
+ known->groups = ( NadfIdGroup * ) groups;
+
+ iio_factory_klass->private->registered = g_list_prepend( iio_factory_klass->private->registered, known );
+ }
+ }
+}
+
+/**
+ * na_io_factory_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 )
+{
+ GList *it;
+
+ if( iio_factory_initialized && !iio_factory_finalized ){
+
+ for( it = iio_factory_klass->private->registered ; it ; it = it->next ){
+ if((( NadfImplement * ) it->data )->type == type ){
+ return((( NadfImplement * ) it->data )->groups );
+ }
+ }
+ }
+
+ return( NULL );
+}
+
+/**
+ * na_io_factory_read_value:
+ * @reader: the instance which implements this #NAIIOFactory 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
+ * may append messages to this list, but shouldn't reinitialize it.
+ *
+ * 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 )
+{
+ GValue *value;
+
+ g_return_val_if_fail( NA_IS_IIO_FACTORY( reader ), NULL );
+
+ value = NULL;
+
+ if( iio_factory_initialized && !iio_factory_finalized ){
+
+ if( NA_IIO_FACTORY_GET_INTERFACE( reader )->read_value ){
+
+ value = NA_IIO_FACTORY_GET_INTERFACE( reader )->read_value( reader, reader_data, iddef, messages );
+ }
+ }
+
+ return( value );
+}
diff --git a/src/core/na-io-factory.h b/src/core/na-io-factory.h
new file mode 100644
index 0000000..0f84e0e
--- /dev/null
+++ b/src/core/na-io-factory.h
@@ -0,0 +1,51 @@
+/*
+ * 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)
+ */
+
+#ifndef __CORE_NA_IO_FACTORY_H__
+#define __CORE_NA_IO_FACTORY_H__
+
+/**
+ * SECTION: na_iio_factory
+ * @short_description: #NAIIOFactory interface definition.
+ * @include: core/na-io-factory.h
+ */
+
+#include <api/na-iio-factory.h>
+
+G_BEGIN_DECLS
+
+void na_io_factory_register ( GType type, const NadfIdGroup *groups );
+NadfIdGroup *na_io_factory_get_groups( GType type );
+
+GValue *na_io_factory_read_value( const NAIIOFactory *reader, void *reader_data, const NadfIdType *iddef, GSList **messages );
+
+G_END_DECLS
+
+#endif /* __NAUTILUS_ACTIONS_API_NA_IO_FACTORY_H__ */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]