Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00033 #ifndef GWENHYWFAR_DBIO_H
00034 #define GWENHYWFAR_DBIO_H
00035
00036 #include <gwenhywfar/gwenhywfarapi.h>
00037 #include <gwenhywfar/plugin.h>
00038
00039 #ifdef __cplusplus
00040 extern "C" {
00041 #endif
00042
00043 typedef struct GWEN_DBIO GWEN_DBIO;
00044
00045 #ifdef __cplusplus
00046 }
00047 #endif
00048
00049
00050 #define GWEN_DBIO_PLUGIN_NAME "dbio"
00051
00052
00056 #define GWEN_DBIO_FOLDER "dbio"
00057
00058
00059 #include <gwenhywfar/path.h>
00060 #include <gwenhywfar/syncio.h>
00061 #include <gwenhywfar/types.h>
00062 #include <gwenhywfar/misc.h>
00063 #include <gwenhywfar/inherit.h>
00064 #include <gwenhywfar/db.h>
00065 #include <gwenhywfar/libloader.h>
00066 #include <gwenhywfar/error.h>
00067
00068 #include <stdio.h>
00069
00070 #ifdef __cplusplus
00071 extern "C" {
00072 #endif
00073
00074
00075 GWEN_LIST_FUNCTION_LIB_DEFS(GWEN_DBIO, GWEN_DBIO, GWENHYWFAR_API)
00076 GWEN_INHERIT_FUNCTION_LIB_DEFS(GWEN_DBIO, GWENHYWFAR_API)
00077
00078
00079 typedef enum {
00080 GWEN_DBIO_CheckFileResultOk=0,
00081 GWEN_DBIO_CheckFileResultNotOk,
00082 GWEN_DBIO_CheckFileResultUnknown
00083 } GWEN_DBIO_CHECKFILE_RESULT;
00084
00085
00086
00091 typedef GWEN_DBIO* (*GWEN_DBIO_PLUGIN_FACTORYFN)(GWEN_PLUGIN *pl);
00092
00093 GWENHYWFAR_API
00094 GWEN_DBIO *GWEN_DBIO_Plugin_Factory(GWEN_PLUGIN *pl);
00108 GWENHYWFAR_API
00109 int GWEN_DBIO_Import(GWEN_DBIO *dbio,
00110 GWEN_SYNCIO *sio,
00111 GWEN_DB_NODE *db,
00112 GWEN_DB_NODE *params,
00113 uint32_t flags);
00114
00115 GWENHYWFAR_API
00116 int GWEN_DBIO_ImportFromFile(GWEN_DBIO *dbio,
00117 const char *fname,
00118 GWEN_DB_NODE *db,
00119 GWEN_DB_NODE *params,
00120 uint32_t flags);
00121
00126 GWENHYWFAR_API
00127 int GWEN_DBIO_Export(GWEN_DBIO *dbio,
00128 GWEN_SYNCIO *sio,
00129 GWEN_DB_NODE *db,
00130 GWEN_DB_NODE *params,
00131 uint32_t flags);
00132
00133 GWENHYWFAR_API
00134 int GWEN_DBIO_ExportToFile(GWEN_DBIO *dbio,
00135 const char *fname,
00136 GWEN_DB_NODE *db,
00137 GWEN_DB_NODE *params,
00138 uint32_t flags);
00139
00140 GWENHYWFAR_API
00141 int GWEN_DBIO_ExportToBuffer(GWEN_DBIO *dbio,
00142 GWEN_BUFFER *buf,
00143 GWEN_DB_NODE *db,
00144 GWEN_DB_NODE *params,
00145 uint32_t flags);
00146
00147
00151 GWENHYWFAR_API
00152 GWEN_DBIO_CHECKFILE_RESULT GWEN_DBIO_CheckFile(GWEN_DBIO *dbio, const char *fname);
00153
00154
00159 GWENHYWFAR_API
00160 void GWEN_DBIO_free(GWEN_DBIO *dbio);
00161
00166 GWENHYWFAR_API
00167 void GWEN_DBIO_Attach(GWEN_DBIO *dbio);
00168
00172 GWENHYWFAR_API
00173 const char *GWEN_DBIO_GetName(const GWEN_DBIO *dbio);
00174
00178 GWENHYWFAR_API
00179 const char *GWEN_DBIO_GetDescription(const GWEN_DBIO *dbio);
00180
00190
00198 GWENHYWFAR_API
00199 GWEN_DBIO *GWEN_DBIO_GetPlugin(const char *modname);
00200
00204 #ifdef __cplusplus
00205 }
00206 #endif
00207
00208
00209 #endif
00210
00211