Top | ![]() |
![]() |
![]() |
![]() |
The FMAIExporter interface exports items to the outside world. Each implementation may provide one or more formats.
For its own internal needs, FileManager-Actions™ requires that each export format have its own identifier, as an ASCII string.
In order to avoid any collision, this export format identifier is allocated by the FileManager-Actions™ maintainers team. If you wish provide yourself a new export format, and so need a new export format identifier, please contact the maintainers (see filemanager-actions.doap at the root of the source tree).
Below is a list of currently allocated export format identifiers. This list has been last updated on 2015, September 10th.
Table 5. Currently allocated export format identifiers
Identifier | Name | Holder | Allocated on | ||
---|---|---|---|---|---|
Ask |
Reserved for FileManager-Actions™ internal needs | FileManager-Actions™ | 2010-02-15 | current | |
Desktop1 |
FMA Desktop module | FileManager-Actions™ | 2010-07-28 | current | |
GConfSchemaV1 |
FMA XML module | FileManager-Actions™ | 2010-02-15 | deprecated | |
GConfSchemaV2 |
FMA XML module | FileManager-Actions™ | 2010-02-15 | deprecated | |
GConfEntry |
FMA XML module | FileManager-Actions™ | 2010-02-15 | deprecated |
Table 6. Historic of the versions of the FMAIExporter interface
FileManager-Actions™ version | FMAIExporter interface version | ||
---|---|---|---|
from 2.30 to 3.1.5 | 1 | deprecated | |
since 3.2 | 2 | current version |
#define FMA_IEXPORTER( instance ) ( G_TYPE_CHECK_INSTANCE_CAST( instance, FMA_TYPE_IEXPORTER, FMAIExporter ))
#define FMA_IS_IEXPORTER( instance ) ( G_TYPE_CHECK_INSTANCE_TYPE( instance, FMA_TYPE_IEXPORTER ))
typedef struct { /** * get_version: * @instance: this FMAIExporter instance. * * FileManager-Actions calls this method each time it needs to know * which version of this interface the plugin implements. * * If this method is not implemented by the plugin, * FileManager-Actions considers that the plugin only implements * the version 1 of the FMAIImporter interface. * * Return value: if implemented, this method must return the version * number of this interface the I/O provider is supporting. * * Defaults to 1. * * Since: 2.30 */ guint ( *get_version )( const FMAIExporter *instance ); /** * get_name: * @instance: this FMAIExporter instance. * * Return value: if implemented, the method should return the name to be * displayed, as a newly allocated string which will be g_free() by the * caller. * * This may be the name of the module itself, but this also may be a * special name the modules gives to this interface. * * Defaults to a NULL string. * * Since: 2.30 */ gchar * ( *get_name ) ( const FMAIExporter *instance ); /** * get_formats: * @instance: this FMAIExporter instance. * * For its own internal needs, FileManager-Actions requires each export * format has its own unique identifier (in fact, just a small ASCII * string). * * To avoid any collision, the format identifier is allocated by the * FileManager-Actions maintainers team. If you wish develop a new export * format, and so need a new format identifier, please contact the * maintainers (see filemanager-actions.doap). * * Return value: * - Interface v1: * a null-terminated list of FMAIExporterFormat structures * which describes the formats supported by this FMAIExporter * provider. * The returned list is owned by the FMAIExporter provider, * and should not be freed nor released by the caller. * * - Interface v2: * a GList of FMAIExporterFormatv2 structures * which describes the formats supported by this FMAIExporter * provider. * The caller should then invoke the free_formats() method * in order the provider be able to release the resources * allocated to the list. * * Defaults to NULL (no format at all). * * Since: 2.30 */ void * ( *get_formats )( const FMAIExporter *instance ); /** * free_formats: * @instance: this FMAIExporter instance. * @formats: a null-terminated list of FMAIExporterFormatv2 structures, * as returned by get_formats() method above. * * Free the resources allocated to the @formats list. * * Since: 3.2 */ void ( *free_formats )( const FMAIExporter *instance, GList *formats ); /** * to_file: * @instance: this FMAIExporter instance. * @parms: a FMAIExporterFileParmsv2 structure. * * Exports the specified 'exported' to the target 'folder' in the required * 'format'. * * Return value: the FMAIExporterExportStatus status of the operation. * * Since: 2.30 */ guint ( *to_file ) ( const FMAIExporter *instance, FMAIExporterFileParmsv2 *parms ); /** * to_buffer: * @instance: this FMAIExporter instance. * @parms: a FMAIExporterFileParmsv2 structure. * * Exports the specified 'exported' to a newly allocated 'buffer' in * the required 'format'. The allocated 'buffer' will be g_free() * by the caller. * * Return value: the FMAIExporterExportStatus status of the operation. * * Since: 2.30 */ guint ( *to_buffer ) ( const FMAIExporter *instance, FMAIExporterBufferParmsv2 *parms ); } FMAIExporterInterface;
This defines the interface that a FMAIExporter should implement.
The reasons for which an item may not have been exported
typedef struct { gchar *format; gchar *label; gchar *description; } FMAIExporterFormat;
FMAIExporterFormat
has been deprecated since version 3.2 and should not be used in newly-written code.
This structure describes a supported output format.
It must be provided by each FMAIExporter implementation
(see e.g. src/io-xml/naxml-formats.c
).
When listing available export formats, the instance returns a GList of these structures.
typedef struct { guint version; FMAIExporter *provider; gchar *format; gchar *label; gchar *description; GdkPixbuf *pixbuf; } FMAIExporterFormatv2;
This structure describes a supported output format.
It must be provided by each FMAIExporter implementation
(see e.g. src/io-xml/fma-xml-formats.c
).
When listing available export formats, the provider
must return a GList
of these structures.
guint |
the version of this FMAIExporterFormatv2 structure; equals to 2; since structure version 1. |
|
FMAIExporter * |
the FMAIExporter provider for this format; since structure version 2. |
|
gchar * |
format identifier (ascii, allocated by the FileManager-Actions team); since structure version 2. |
|
gchar * |
short label to be displayed in dialog (UTF-8 localized); since structure version 2. |
|
gchar * |
full description of the format (UTF-8 localized); mainly used as a tooltip; since structure version 2. |
|
GdkPixbuf * |
an image to be associated with this export format; this pixbuf is supposed to be rendered with GTK_ICON_SIZE_DIALOG size; since structure version 2. |
Since: 3.2
typedef struct { guint version; FMAObjectItem *exported; gchar *folder; GQuark format; gchar *basename; GSList *messages; } FMAIExporterFileParms;
FMAIExporterFileParms
has been deprecated since version 3.2 and should not be used in newly-written code.
The structure that the implementation receives as a parameter of
FMAIExporterInterface.to_file()
interface method.
guint |
[in] version of this structure; since structure version 1. |
|
FMAObjectItem * |
[in] exported FMAObjectItem-derived object; since structure version 1. |
|
gchar * |
[in] URI of the target folder; since structure version 1. |
|
GQuark |
[in] export format as a GQuark; since structure version 1. |
|
gchar * |
[out] basename of the exported file; since structure version 1. |
|
GSList * |
[in/out] a GSList list of localized strings; the provider may append messages to this list, but shouldn't reinitialize it; since structure version 1. |
typedef struct { guint version; guint content; FMAObjectItem *exported; gchar *folder; gchar *format; gchar *basename; GSList *messages; } FMAIExporterFileParmsv2;
The structure that the plugin receives as a parameter of
FMAIExporterInterface.to_file()
interface method.
guint |
[in] version of this structure; equals to 2; since structure version 1. |
|
guint |
[in] version of the content of this structure; equals to 1; since structure version 2. |
|
FMAObjectItem * |
[in] exported FMAObjectItem-derived object; since structure version 1. |
|
gchar * |
[in] URI of the target folder; since structure version 1. |
|
gchar * |
[in] export format string identifier; since structure version 1. |
|
gchar * |
[out] basename of the exported file; since structure version 1. |
|
GSList * |
[in/out] a GSList list of localized strings; the provider may append messages to this list, but shouldn't reinitialize it; since structure version 1. |
Since: 3.2
typedef struct { guint version; FMAObjectItem *exported; GQuark format; gchar *buffer; GSList *messages; } FMAIExporterBufferParms;
FMAIExporterBufferParms
has been deprecated since version 3.2 and should not be used in newly-written code.
The structure that the plugin receives as a parameter of
FMAIExporterInterface.to_buffer()
interface method.
guint |
[in] version of this structure; since structure version 1. |
|
FMAObjectItem * |
[in] exported FMAObjectItem-derived object; since structure version 1. |
|
GQuark |
[in] export format as a GQuark; since structure version 1. |
|
gchar * |
[out] buffer which contains the exported object; since structure version 1. |
|
GSList * |
[in/out] a GSList list of localized strings; the provider may append messages to this list, but shouldn't reinitialize it; since structure version 1. |
typedef struct { guint version; guint content; FMAObjectItem *exported; gchar *format; gchar *buffer; GSList *messages; } FMAIExporterBufferParmsv2;
The structure that the plugin receives as a parameter of
FMAIExporterInterface.to_buffer()
interface method.
guint |
[in] version of this structure; equals to 2; since structure version 1. |
|
guint |
[in] version of the content of this structure; equals to 1; since structure version 2. |
|
FMAObjectItem * |
[in] exported FMAObjectItem-derived object; since structure version 1. |
|
gchar * |
[in] export format string identifier; since structure version 2. |
|
gchar * |
[out] buffer which contains the exported object; since structure version 1. |
|
GSList * |
[in/out] a GSList list of localized strings; the provider may append messages to this list, but shouldn't reinitialize it; since structure version 1. |
Since: 3.2