gwenhywfar  5.11.1beta
Macros | Typedefs | Enumerations
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/syncio.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.

Macros

#define GWEN_DBIO_FOLDER   "dbio"
 
#define GWEN_DBIO_PLUGIN_NAME   "dbio"
 

Typedefs

typedef struct GWEN_DBIO GWEN_DBIO
 

Enumerations

enum  GWEN_DBIO_CHECKFILE_RESULT { GWEN_DBIO_CheckFileResultOk =0 , GWEN_DBIO_CheckFileResultNotOk , GWEN_DBIO_CheckFileResultUnknown }
 

Functions

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_SYNCIO *sio, GWEN_DB_NODE *db, GWEN_DB_NODE *params, uint32_t flags)
 
GWENHYWFAR_API int GWEN_DBIO_ExportToBuffer (GWEN_DBIO *dbio, GWEN_BUFFER *buf, GWEN_DB_NODE *db, GWEN_DB_NODE *params, uint32_t flags)
 
GWENHYWFAR_API int GWEN_DBIO_ExportToFile (GWEN_DBIO *dbio, const char *fname, GWEN_DB_NODE *db, GWEN_DB_NODE *params, uint32_t flags)
 
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_SYNCIO *sio, GWEN_DB_NODE *db, GWEN_DB_NODE *params, uint32_t flags)
 
GWENHYWFAR_API int GWEN_DBIO_ImportFromFile (GWEN_DBIO *dbio, const char *fname, GWEN_DB_NODE *db, GWEN_DB_NODE *params, uint32_t flags)
 
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)
 

GWEN_DBIO plugins

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

Detailed Description

This file provides the GWEN DB import/export framework.

Definition in file dbio.h.

Macro Definition Documentation

◆ GWEN_DBIO_FOLDER

#define GWEN_DBIO_FOLDER   "dbio"

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

Definition at line 56 of file dbio.h.

◆ GWEN_DBIO_PLUGIN_NAME

#define GWEN_DBIO_PLUGIN_NAME   "dbio"

Definition at line 50 of file dbio.h.

Typedef Documentation

◆ GWEN_DBIO

typedef struct GWEN_DBIO GWEN_DBIO

Definition at line 1 of file dbio.h.

◆ GWEN_DBIO_PLUGIN_FACTORYFN

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

Definition at line 92 of file dbio.h.

Enumeration Type Documentation

◆ GWEN_DBIO_CHECKFILE_RESULT

Enumerator
GWEN_DBIO_CheckFileResultOk 
GWEN_DBIO_CheckFileResultNotOk 
GWEN_DBIO_CheckFileResultUnknown 

Definition at line 79 of file dbio.h.

Function Documentation

◆ GWEN_DBIO_Attach()

GWENHYWFAR_API void GWEN_DBIO_Attach ( GWEN_DBIO dbio)

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

◆ GWEN_DBIO_CheckFile()

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.

◆ GWEN_DBIO_Export()

GWENHYWFAR_API int GWEN_DBIO_Export ( GWEN_DBIO dbio,
GWEN_SYNCIO sio,
GWEN_DB_NODE db,
GWEN_DB_NODE params,
uint32_t  flags 
)

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

◆ GWEN_DBIO_ExportToBuffer()

GWENHYWFAR_API int GWEN_DBIO_ExportToBuffer ( GWEN_DBIO dbio,
GWEN_BUFFER buf,
GWEN_DB_NODE db,
GWEN_DB_NODE params,
uint32_t  flags 
)

◆ GWEN_DBIO_ExportToFile()

GWENHYWFAR_API int GWEN_DBIO_ExportToFile ( GWEN_DBIO dbio,
const char *  fname,
GWEN_DB_NODE db,
GWEN_DB_NODE params,
uint32_t  flags 
)

◆ GWEN_DBIO_free()

GWENHYWFAR_API void GWEN_DBIO_free ( GWEN_DBIO dbio)

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

◆ GWEN_DBIO_GetDescription()

GWENHYWFAR_API const char* GWEN_DBIO_GetDescription ( const GWEN_DBIO dbio)

Returns a descriptive text about this particular GWEN_DBIO.

◆ GWEN_DBIO_GetName()

GWENHYWFAR_API const char* GWEN_DBIO_GetName ( const GWEN_DBIO dbio)

Returns the name of a GWEN_DBIO.

◆ GWEN_DBIO_GetPlugin()

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).

◆ GWEN_DBIO_Import()

GWENHYWFAR_API int GWEN_DBIO_Import ( GWEN_DBIO dbio,
GWEN_SYNCIO sio,
GWEN_DB_NODE db,
GWEN_DB_NODE params,
uint32_t  flags 
)

Reads data from the given io layer 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.

◆ GWEN_DBIO_ImportFromFile()

GWENHYWFAR_API int GWEN_DBIO_ImportFromFile ( GWEN_DBIO dbio,
const char *  fname,
GWEN_DB_NODE db,
GWEN_DB_NODE params,
uint32_t  flags 
)

◆ GWEN_DBIO_Plugin_Factory()

GWENHYWFAR_API GWEN_DBIO* GWEN_DBIO_Plugin_Factory ( GWEN_PLUGIN pl)