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_DBIO * | GWEN_DBIO_GetPlugin (const char *modname)

## GWEN_DBIO plugins

GWENHYWFAR_API GWEN_DBIO * | GWEN_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 43 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

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

References GWENHYWFAR_API.

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

References GWENHYWFAR_API.

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

References GWENHYWFAR_API.

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

References GWENHYWFAR_API.

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

References GWENHYWFAR_API.

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

References GWENHYWFAR_API.

## GWEN_DBIO_GetDescription()

GWENHYWFAR_API const char * GWEN_DBIO_GetDescription | ( | const GWEN_DBIO * | dbio | ) |

Returns a descriptive text about this particular GWEN_DBIO.

References GWENHYWFAR_API.

## GWEN_DBIO_GetName()

GWENHYWFAR_API const char * GWEN_DBIO_GetName | ( | const GWEN_DBIO * | dbio | ) |

Returns the name of a GWEN_DBIO.

References GWENHYWFAR_API.

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

References GWENHYWFAR_API.

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

References GWENHYWFAR_API.

## GWEN_DBIO_Plugin_Factory()

GWENHYWFAR_API GWEN_DBIO * GWEN_DBIO_Plugin_Factory | ( | GWEN_PLUGIN * | pl | ) |

References GWENHYWFAR_API.