dbio.h File Reference

This file provides the GWEN DB import/export framework. More...

#include <gwenhywfar/gwenhywfarapi.h>
#include <gwenhywfar/plugin.h>
#include <gwenhywfar/path.h>
#include <gwenhywfar/bufferedio.h>
#include <gwenhywfar/types.h>
#include <gwenhywfar/misc.h>
#include <gwenhywfar/inherit.h>
#include <gwenhywfar/db.h>
#include <gwenhywfar/libloader.h>
#include <gwenhywfar/error.h>
#include <stdio.h>

Go to the source code of this file.

GWEN_DBIO plugins

typedef GWEN_DBIO *(*) GWEN_DBIO_PLUGIN_FACTORYFN (GWEN_PLUGIN *pl)
GWENHYWFAR_API GWEN_DBIOGWEN_DBIO_Plugin_Factory (GWEN_PLUGIN *pl)
GWENHYWFAR_API GWEN_PLUGINGWEN_DBIO_Plugin_new (GWEN_PLUGIN_MANAGER *pm, const char *name, const char *fileName)
GWENHYWFAR_API void GWEN_DBIO_Plugin_SetFactoryFn (GWEN_PLUGIN *pl, GWEN_DBIO_PLUGIN_FACTORYFN f)

Functions To Be Used By Applications

GWENHYWFAR_API void GWEN_DBIO_Attach (GWEN_DBIO *dbio)
GWENHYWFAR_API GWEN_DBIO_CHECKFILE_RESULT GWEN_DBIO_CheckFile (GWEN_DBIO *dbio, const char *fname)
GWENHYWFAR_API int GWEN_DBIO_Export (GWEN_DBIO *dbio, GWEN_BUFFEREDIO *bio, GWEN_TYPE_UINT32 flags, GWEN_DB_NODE *db, GWEN_DB_NODE *params)
GWENHYWFAR_API void GWEN_DBIO_free (GWEN_DBIO *dbio)
GWENHYWFAR_API const char * GWEN_DBIO_GetDescription (const GWEN_DBIO *dbio)
GWENHYWFAR_API const char * GWEN_DBIO_GetName (const GWEN_DBIO *dbio)
GWENHYWFAR_API int GWEN_DBIO_Import (GWEN_DBIO *dbio, GWEN_BUFFEREDIO *bio, GWEN_TYPE_UINT32 flags, GWEN_DB_NODE *db, GWEN_DB_NODE *params)

Functions To Be Used By Administration Functions

Functions in this group are to be used for administration purposes only.

GWENHYWFAR_API GWEN_DBIOGWEN_DBIO_GetPlugin (const char *modname)

Functions To Be Used By Inheritors

GWENHYWFAR_API GWEN_DBIOGWEN_DBIO_new (const char *name, const char *descr)
GWENHYWFAR_API void GWEN_DBIO_SetCheckFileFn (GWEN_DBIO *dbio, GWEN_DBIO_CHECKFILEFN f)
GWENHYWFAR_API void GWEN_DBIO_SetExportFn (GWEN_DBIO *dbio, GWEN_DBIO_EXPORTFN f)
GWENHYWFAR_API void GWEN_DBIO_SetImportFn (GWEN_DBIO *dbio, GWEN_DBIO_IMPORTFN f)

Defines

#define GWEN_DBIO_FOLDER   "dbio"

Typedefs

typedef GWEN_DBIO GWEN_DBIO
typedef GWEN_DBIO_CHECKFILE_RESULT(*) GWEN_DBIO_CHECKFILEFN (GWEN_DBIO *dbio, const char *fname)
typedef int(*) GWEN_DBIO_EXPORTFN (GWEN_DBIO *dbio, GWEN_BUFFEREDIO *bio, GWEN_TYPE_UINT32 flags, GWEN_DB_NODE *db, GWEN_DB_NODE *params)
typedef int(*) GWEN_DBIO_IMPORTFN (GWEN_DBIO *dbio, GWEN_BUFFEREDIO *bio, GWEN_TYPE_UINT32 flags, GWEN_DB_NODE *db, GWEN_DB_NODE *params)

Enumerations

enum  GWEN_DBIO_CHECKFILE_RESULT { GWEN_DBIO_CheckFileResultOk = 0, GWEN_DBIO_CheckFileResultNotOk, GWEN_DBIO_CheckFileResultUnknown }


Detailed Description

This file provides the GWEN DB import/export framework.


Define Documentation

#define GWEN_DBIO_FOLDER   "dbio"

name of the folder below Gwen's PLUGIN folder which holds DBIO plugins


Typedef Documentation

typedef struct GWEN_DBIO GWEN_DBIO

typedef GWEN_DBIO_CHECKFILE_RESULT(*) GWEN_DBIO_CHECKFILEFN(GWEN_DBIO *dbio, const char *fname)

typedef int(*) GWEN_DBIO_EXPORTFN(GWEN_DBIO *dbio, GWEN_BUFFEREDIO *bio, GWEN_TYPE_UINT32 flags, GWEN_DB_NODE *db, GWEN_DB_NODE *params)

typedef int(*) GWEN_DBIO_IMPORTFN(GWEN_DBIO *dbio, GWEN_BUFFEREDIO *bio, GWEN_TYPE_UINT32 flags, GWEN_DB_NODE *db, GWEN_DB_NODE *params)

typedef GWEN_DBIO*(*) GWEN_DBIO_PLUGIN_FACTORYFN(GWEN_PLUGIN *pl)


Enumeration Type Documentation

enum GWEN_DBIO_CHECKFILE_RESULT

Enumerator:
GWEN_DBIO_CheckFileResultOk 
GWEN_DBIO_CheckFileResultNotOk 
GWEN_DBIO_CheckFileResultUnknown 


Function Documentation

GWENHYWFAR_API void GWEN_DBIO_Attach ( GWEN_DBIO dbio  ) 

Increments the internal usage counter. This counter is decremented upon GWEN_DBIO_free.

GWENHYWFAR_API GWEN_DBIO_CHECKFILE_RESULT GWEN_DBIO_CheckFile ( GWEN_DBIO dbio,
const char *  fname 
)

Checks whether the given file is supported by the given DBIO.

GWENHYWFAR_API int GWEN_DBIO_Export ( GWEN_DBIO dbio,
GWEN_BUFFEREDIO bio,
GWEN_TYPE_UINT32  flags,
GWEN_DB_NODE db,
GWEN_DB_NODE params 
)

Writes data to the given GWEN_BUFFEREDIO in the format of this particular GWEN_DBIO.

GWENHYWFAR_API void GWEN_DBIO_free ( GWEN_DBIO dbio  ) 

Releases the ressources associated with the given GWEN_DBIO if the usage counter reaches zero.

GWENHYWFAR_API const char* GWEN_DBIO_GetDescription ( const GWEN_DBIO dbio  ) 

Returns a descriptive text about this particular GWEN_DBIO.

GWENHYWFAR_API const char* GWEN_DBIO_GetName ( const GWEN_DBIO dbio  ) 

Returns the name of a GWEN_DBIO.

GWENHYWFAR_API GWEN_DBIO* GWEN_DBIO_GetPlugin ( const char *  modname  ) 

This function creates a GWEN_DBIO of the given name. It therefore loads the appropriate plugin if necessary. The caller becomes the owner of the object returned, so he/she is responsible for freeing it (Note: Previous version kept the ownership so that the caller was not allowed to free the object. This has changed).

GWENHYWFAR_API int GWEN_DBIO_Import ( GWEN_DBIO dbio,
GWEN_BUFFEREDIO bio,
GWEN_TYPE_UINT32  flags,
GWEN_DB_NODE db,
GWEN_DB_NODE params 
)

Reads data from the given GWEN_BUFFEREDIO and stores the data read into the given DB. The stream represented by the buffered io is expected to have the format for this particular GWEN_DBIO.

GWENHYWFAR_API GWEN_DBIO* GWEN_DBIO_new ( const char *  name,
const char *  descr 
)

Creates the base object which is to be extended by the inheritor.

GWENHYWFAR_API GWEN_DBIO* GWEN_DBIO_Plugin_Factory ( GWEN_PLUGIN pl  ) 

GWENHYWFAR_API GWEN_PLUGIN* GWEN_DBIO_Plugin_new ( GWEN_PLUGIN_MANAGER pm,
const char *  name,
const char *  fileName 
)

GWENHYWFAR_API void GWEN_DBIO_Plugin_SetFactoryFn ( GWEN_PLUGIN pl,
GWEN_DBIO_PLUGIN_FACTORYFN  f 
)

GWENHYWFAR_API void GWEN_DBIO_SetCheckFileFn ( GWEN_DBIO dbio,
GWEN_DBIO_CHECKFILEFN  f 
)

GWENHYWFAR_API void GWEN_DBIO_SetExportFn ( GWEN_DBIO dbio,
GWEN_DBIO_EXPORTFN  f 
)

Sets the export function for this kind of GWEN_DBIO.

GWENHYWFAR_API void GWEN_DBIO_SetImportFn ( GWEN_DBIO dbio,
GWEN_DBIO_IMPORTFN  f 
)

Sets the import function for this kind of GWEN_DBIO.


Generated on Sat Sep 16 11:19:15 2006 for gwenhywfar by  doxygen 1.4.7