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 #ifndef GWEN_SMP_STORAGE_BE_H
00029 #define GWEN_SMP_STORAGE_BE_H
00030
00041 #include <gwenhywfar/st_storage_be.h>
00042
00043
00048 GWENHYWFAR_API
00049 GWEN_STO_STORAGE *GWEN_SmpStoStorage_new(const char *typeName,
00050 const char *address);
00060 typedef int (*GWEN_SMPSTO_NEXTUNIQUEID_FN)(GWEN_STO_STORAGE *st,
00061 GWEN_STO_TYPE *ty,
00062 GWEN_TYPE_UINT32 *pid);
00063 typedef int (*GWEN_SMPSTO_CREATEDB_FN)(GWEN_STO_STORAGE *st);
00064 typedef int (*GWEN_SMPSTO_LOADDB_FN)(GWEN_STO_STORAGE *st);
00065 typedef int (*GWEN_SMPSTO_WRITETYPE_FN)(GWEN_STO_STORAGE *st,
00066 GWEN_STO_TYPE *ty);
00067 typedef int (*GWEN_SMPSTO_CREATETYPE_FN)(GWEN_STO_STORAGE *st,
00068 const char *typeName,
00069 const char *name,
00070 GWEN_STO_TYPE **pty);
00071 typedef int (*GWEN_SMPSTO_DUPTYPE_FN)(GWEN_STO_STORAGE *st,
00072 const GWEN_STO_TYPE *ty,
00073 GWEN_STO_TYPE **pty);
00074
00075
00076 typedef int (*GWEN_SMPSTO_READOBJECT_FN)(GWEN_STO_STORAGE *st,
00077 GWEN_STO_TYPE *ts,
00078 GWEN_TYPE_UINT32 id,
00079 GWEN_STO_OBJECT **po);
00080 typedef int (*GWEN_SMPSTO_WRITEOBJECT_FN)(GWEN_STO_STORAGE *st,
00081 GWEN_STO_OBJECT *o);
00082 typedef int (*GWEN_SMPSTO_DELETEOBJECT_FN)(GWEN_STO_STORAGE *st,
00083 GWEN_STO_OBJECT *o);
00084 typedef int (*GWEN_SMPSTO_CREATEOBJECT_FN)(GWEN_STO_STORAGE *st,
00085 GWEN_STO_TYPE *ts,
00086 GWEN_STO_OBJECT **po);
00087
00088 typedef int (*GWEN_SMPSTO_ADDLOG_FN)(GWEN_STO_STORAGE *st,
00089 const GWEN_STO_LOG *log);
00099
00100 GWENHYWFAR_API
00101 GWEN_SMPSTO_NEXTUNIQUEID_FN
00102 GWEN_SmpSto_SetNextUniqueIdFn(GWEN_STO_STORAGE *st,
00103 GWEN_SMPSTO_NEXTUNIQUEID_FN f);
00104
00105 GWENHYWFAR_API
00106 GWEN_SMPSTO_CREATEDB_FN
00107 GWEN_SmpSto_SetCreateDbFn(GWEN_STO_STORAGE *st,
00108 GWEN_SMPSTO_CREATEDB_FN f);
00109
00110 GWENHYWFAR_API
00111 GWEN_SMPSTO_LOADDB_FN
00112 GWEN_SmpSto_SetLoadDbFn(GWEN_STO_STORAGE *st,
00113 GWEN_SMPSTO_LOADDB_FN f);
00114
00115 GWENHYWFAR_API
00116 GWEN_SMPSTO_WRITETYPE_FN
00117 GWEN_SmpSto_SetWriteTypeFn(GWEN_STO_STORAGE *st,
00118 GWEN_SMPSTO_WRITETYPE_FN f);
00119
00120 GWENHYWFAR_API
00121 GWEN_SMPSTO_CREATETYPE_FN
00122 GWEN_SmpSto_SetCreateTypeFn(GWEN_STO_STORAGE *st,
00123 GWEN_SMPSTO_CREATETYPE_FN f);
00124
00125 GWENHYWFAR_API
00126 GWEN_SMPSTO_DUPTYPE_FN
00127 GWEN_SmpSto_SetDupTypeFn(GWEN_STO_STORAGE *st,
00128 GWEN_SMPSTO_DUPTYPE_FN f);
00129
00130 GWENHYWFAR_API
00131 GWEN_SMPSTO_READOBJECT_FN
00132 GWEN_SmpSto_SetReadObjectFn(GWEN_STO_STORAGE *st,
00133 GWEN_SMPSTO_READOBJECT_FN f);
00134
00135 GWENHYWFAR_API
00136 GWEN_SMPSTO_WRITEOBJECT_FN
00137 GWEN_SmpSto_SetWriteObjectFn(GWEN_STO_STORAGE *st,
00138 GWEN_SMPSTO_WRITEOBJECT_FN f);
00139
00140 GWENHYWFAR_API
00141 GWEN_SMPSTO_CREATEOBJECT_FN
00142 GWEN_SmpSto_SetCreateObjectFn(GWEN_STO_STORAGE *st,
00143 GWEN_SMPSTO_CREATEOBJECT_FN f);
00144
00145 GWENHYWFAR_API
00146 GWEN_SMPSTO_DELETEOBJECT_FN
00147 GWEN_SmpSto_SetDeleteObjectFn(GWEN_STO_STORAGE *st,
00148 GWEN_SMPSTO_DELETEOBJECT_FN f);
00149
00150 GWENHYWFAR_API
00151 GWEN_SMPSTO_ADDLOG_FN
00152 GWEN_SmpSto_SetAddLogFn(GWEN_STO_STORAGE *st, GWEN_SMPSTO_ADDLOG_FN f);
00153
00162 GWENHYWFAR_API
00163 int GWEN_SmpSto_NextUniqueId(GWEN_STO_STORAGE *st,
00164 GWEN_STO_TYPE *ty,
00165 GWEN_TYPE_UINT32 *pid);
00166
00167 GWENHYWFAR_API
00168 int GWEN_SmpSto_CreateDb(GWEN_STO_STORAGE *st);
00169
00170 GWENHYWFAR_API
00171 int GWEN_SmpSto_LoadDb(GWEN_STO_STORAGE *st);
00172
00173 GWENHYWFAR_API
00174 int GWEN_SmpSto_WriteType(GWEN_STO_STORAGE *st,
00175 GWEN_STO_TYPE *ty);
00176
00177 GWENHYWFAR_API
00178 int GWEN_SmpSto_CreateType(GWEN_STO_STORAGE *st,
00179 const char *typeName,
00180 const char *name,
00181 GWEN_STO_TYPE **pty);
00182
00183 GWENHYWFAR_API
00184 int GWEN_SmpSto_DupType(GWEN_STO_STORAGE *st,
00185 const GWEN_STO_TYPE *ty,
00186 GWEN_STO_TYPE **pty);
00187
00188 GWENHYWFAR_API
00189 int GWEN_SmpSto_ReadObject(GWEN_STO_STORAGE *st,
00190 GWEN_STO_TYPE *ty,
00191 GWEN_TYPE_UINT32 id,
00192 GWEN_STO_OBJECT **po);
00193
00194 GWENHYWFAR_API
00195 int GWEN_SmpSto_WriteObject(GWEN_STO_STORAGE *st,
00196 GWEN_STO_OBJECT *o);
00197
00198 GWENHYWFAR_API
00199 int GWEN_SmpSto_CreateObject(GWEN_STO_STORAGE *st,
00200 GWEN_STO_TYPE *ty,
00201 GWEN_STO_OBJECT **po);
00202
00203 GWENHYWFAR_API
00204 int GWEN_SmpSto_DeleteObject(GWEN_STO_STORAGE *st,
00205 GWEN_STO_OBJECT *o);
00206
00207 GWENHYWFAR_API
00208 int GWEN_SmpSto_AddLog(GWEN_STO_STORAGE *st, const GWEN_STO_LOG *log);
00209
00213 #endif
00214
00215
00216