#include <gwenhywfar/gwenhywfarapi.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.
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 GWEN_DBIO * | GWEN_DBIO_Find (const char *name) |
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_GetPluginPath (GWEN_BUFFER *pbuf) |
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_LIBLOADER * | GWEN_DBIO_GetLibLoader (const GWEN_DBIO *dbio) |
GWENHYWFAR_API GWEN_DBIO * | GWEN_DBIO_GetPlugin (const char *modname) |
GWENHYWFAR_API GWEN_DBIO * | GWEN_DBIO_LoadPlugin (const char *modname) |
GWENHYWFAR_API GWEN_DBIO * | GWEN_DBIO_LoadPluginFile (const char *modname, const char *fname) |
GWENHYWFAR_API int | GWEN_DBIO_Register (GWEN_DBIO *dbio) |
GWENHYWFAR_API void | GWEN_DBIO_SetLibLoader (GWEN_DBIO *dbio, GWEN_LIBLOADER *ll) |
Functions To Be Used By Inheritors | |
GWENHYWFAR_API GWEN_DBIO * | GWEN_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 GWEN_DBIO *(* | GWEN_DBIO_FACTORYFN )(void) |
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 } |
|
name of the folder below Gwen's PLUGIN folder which holds DBIO plugins |
|
|
|
|
|
|
|
|
|
|
|
|
|
Increments the internal usage counter. This counter is decremented upon GWEN_DBIO_free. |
|
Checks whether the given file is supported by the given DBIO. |
|
Writes data to the given GWEN_BUFFEREDIO in the format of this particular GWEN_DBIO. |
|
Returns the GWEN_DBIO of the given name if it has already been registered. |
|
Releases the ressources associated with the given GWEN_DBIO if the usage counter reaches zero. |
|
Returns a descriptive text about this particular GWEN_DBIO. |
|
If the GWEN_DBIO has been dynamically loaded (as is the case with plugins) then the GWEN_LIBLOADER used can be stored within the GWEN_DBIO. That way as soon as the GWEN_DBIO is released the associated dynamic library is automatically unloaded. |
|
Returns the name of a GWEN_DBIO. |
|
This functions returns the DBIO of the given name. If it already is registered, then simply the registered one is returned. Otherwise this function tries to load the appropriate plugin and registers it before returning it to the caller. The caller MUST NOT free the plugin returned, this module keeps the ownership of the plugin. |
|
Returns the path to DBIO plugins. On Windows this path is looked upon from the registry key "Software\\Gwenhywfar\\Paths" in HKEY_CURRENT_USER. If this key does not exist or this is called on a non-win32 platform the compile-time value is returned.
|
|
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. |
|
This functions searches for a plugin which supports the given type in the usual place ("GWENHYWFAR_PLUGIN/dbio/"). It does not register the plugin. |
|
This function only loads the given plugin file, it does not register it. |
|
Creates the base object which is to be extended by the inheritor. |
|
Register a new GWEN_DBIO with Gwenhywfar. This always inserts the new GWEN_DBIO at the beginning of the internal list thus replacing an eventually existing GWEN_DBIO with the same name. |
|
|
|
Sets the export function for this kind of GWEN_DBIO. |
|
Sets the import function for this kind of GWEN_DBIO. |
|
If the GWEN_DBIO has been dynamically loaded (as is the case with plugins) then the GWEN_LIBLOADER used can be stored within the GWEN_DBIO. That way as soon as the GWEN_DBIO is released the associated dynamic library is automatically unloaded. |