README: add deprecation notice
[nautilus-actions.git] / src / io-xml / fma-xml-reader.h
blobaf60d18c6144111e3ac40753c3cbcb206df0b949
1 /*
2 * FileManager-Actions
3 * A file-manager extension which offers configurable context menu actions.
5 * Copyright (C) 2005 The GNOME Foundation
6 * Copyright (C) 2006-2008 Frederic Ruaudel and others (see AUTHORS)
7 * Copyright (C) 2009-2015 Pierre Wieser and others (see AUTHORS)
9 * FileManager-Actions is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of
12 * the License, or (at your option) any later version.
14 * FileManager-Actions is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * General Public License for more details.
19 * You should have received a copy of the GNU General Public License
20 * along with FileManager-Actions; see the file COPYING. If not, see
21 * <http://www.gnu.org/licenses/>.
23 * Authors:
24 * Frederic Ruaudel <grumz@grumz.net>
25 * Rodrigo Moya <rodrigo@gnome-db.org>
26 * Pierre Wieser <pwieser@trychlos.org>
27 * ... and many others (see AUTHORS)
30 #ifndef __IO_XML_FMA_XML_READER_H__
31 #define __IO_XML_FMA_XML_READER_H__
33 /**
34 * SECTION: fma_xml_reader
35 * @short_description: #FMAXMLReader class definition.
36 * @include: fma-xml-reader.h
38 * This is the base class for importing items from XML files.
40 * If the imported file is not an XML one, with a known document root,
41 * then we returned IMPORTER_CODE_NOT_WILLING_TO.
42 * In all other cases, errors or inconsistancies are signaled, but
43 * we do our best to actually import the file and produce a valuable
44 * #FMAObjectItem-derived object.
47 #include <api/fma-data-boxed.h>
48 #include <api/fma-iimporter.h>
49 #include <api/fma-ifactory-provider.h>
51 G_BEGIN_DECLS
53 #define FMA_XML_READER_TYPE ( fma_xml_reader_get_type())
54 #define FMA_XML_READER( object ) ( G_TYPE_CHECK_INSTANCE_CAST( object, FMA_XML_READER_TYPE, FMAXMLReader ))
55 #define FMA_XML_READER_CLASS( klass ) ( G_TYPE_CHECK_CLASS_CAST( klass, FMA_XML_READER_TYPE, FMAXMLReaderClass ))
56 #define FMA_IS_XML_READER( object ) ( G_TYPE_CHECK_INSTANCE_TYPE( object, FMA_XML_READER_TYPE ))
57 #define FMA_IS_XML_READER_CLASS( klass ) ( G_TYPE_CHECK_CLASS_TYPE(( klass ), FMA_XML_READER_TYPE ))
58 #define FMA_XML_READER_GET_CLASS( object ) ( G_TYPE_INSTANCE_GET_CLASS(( object ), FMA_XML_READER_TYPE, FMAXMLReaderClass ))
60 typedef struct _FMAXMLReaderPrivate FMAXMLReaderPrivate;
62 typedef struct {
63 /*< private >*/
64 GObject parent;
65 FMAXMLReaderPrivate *private;
67 FMAXMLReader;
69 typedef struct _FMAXMLReaderClassPrivate FMAXMLReaderClassPrivate;
71 typedef struct {
72 /*< private >*/
73 GObjectClass parent;
74 FMAXMLReaderClassPrivate *private;
76 FMAXMLReaderClass;
78 GType fma_xml_reader_get_type ( void );
80 guint fma_xml_reader_import_from_uri( const FMAIImporter *instance, void *parms_ptr );
82 void fma_xml_reader_read_start ( const FMAIFactoryProvider *provider, void *reader_data, const FMAIFactoryObject *object, GSList **messages );
83 FMADataBoxed *fma_xml_reader_read_data ( const FMAIFactoryProvider *provider, void *reader_data, const FMAIFactoryObject *object, const FMADataDef *def, GSList **messages );
84 void fma_xml_reader_read_done ( const FMAIFactoryProvider *provider, void *reader_data, const FMAIFactoryObject *object, GSList **messages );
86 G_END_DECLS
88 #endif /* __IO_XML_FMA_XML_READER_H__ */