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_STO_STORAGE_L_H
00029 #define GWEN_STO_STORAGE_L_H
00030
00031
00032 #include <gwenhywfar/st_storage.h>
00033 #include <gwenhywfar/st_client.h>
00034 #include <gwenhywfar/st_type.h>
00035 #include <gwenhywfar/st_find.h>
00036 #include <gwenhywfar/st_object.h>
00037
00038
00039 GWEN_ERRORCODE GWEN_StoStorage_ModuleInit();
00040 GWEN_ERRORCODE GWEN_StoStorage_ModuleFini();
00041
00042
00043
00044 int GWEN_StoStorage_Create(GWEN_STO_STORAGE *st,
00045 GWEN_STO_CLIENT *cl);
00046
00047 int GWEN_StoStorage_Open(GWEN_STO_STORAGE *st,
00048 GWEN_STO_CLIENT *cl,
00049 GWEN_TYPE_UINT32 openFlags);
00050
00051 int GWEN_StoStorage_Close(GWEN_STO_STORAGE *st,
00052 GWEN_STO_CLIENT *cl,
00053 const char *reason);
00054
00055 int GWEN_StoStorage_BeginEdit(GWEN_STO_STORAGE *st,
00056 GWEN_STO_CLIENT *cl);
00057 int GWEN_StoStorage_EndEdit(GWEN_STO_STORAGE *st,
00058 GWEN_STO_CLIENT *cl,
00059 GWEN_STO_CLOSEMODE cm);
00060
00061
00062 int GWEN_StoStorage_CreateType(GWEN_STO_STORAGE *st,
00063 GWEN_STO_CLIENT *cl,
00064 const char *typeName,
00065 const char *name,
00066 GWEN_STO_TYPE **pts);
00067
00068
00069 int GWEN_StoStorage_OpenType(GWEN_STO_STORAGE *st,
00070 GWEN_STO_CLIENT *cl,
00071 const char *typeName,
00072 const char *name,
00073 GWEN_TYPE_UINT32 openFlags,
00074 GWEN_STO_TYPE **pts);
00075
00076 int GWEN_StoStorage_CloseType(GWEN_STO_STORAGE *st,
00077 GWEN_STO_CLIENT *cl,
00078 GWEN_STO_TYPE *ts,
00079 GWEN_STO_CLOSEMODE cm);
00080
00081
00082
00083 int GWEN_StoStorage_FindFirstObject(GWEN_STO_STORAGE *st,
00084 GWEN_STO_CLIENT *cl,
00085 GWEN_STO_TYPE *ts,
00086 GWEN_STO_FIND **pfnd,
00087 GWEN_TYPE_UINT32 *id);
00088
00089 int GWEN_StoStorage_FindNextObject(GWEN_STO_STORAGE *st,
00090 GWEN_STO_CLIENT *cl,
00091 GWEN_STO_TYPE *ts,
00092 GWEN_STO_FIND *fnd,
00093 GWEN_TYPE_UINT32 *id);
00094
00095 int GWEN_StoStorage_CloseFind(GWEN_STO_STORAGE *st,
00096 GWEN_STO_CLIENT *cl,
00097 GWEN_STO_TYPE *ts,
00098 GWEN_STO_FIND *fnd);
00099
00100 int GWEN_StoStorage_CreateObject(GWEN_STO_STORAGE *st,
00101 GWEN_STO_CLIENT *cl,
00102 GWEN_STO_TYPE *ts,
00103 GWEN_STO_OBJECT **po);
00104
00105 int GWEN_StoStorage_OpenObject(GWEN_STO_STORAGE *st,
00106 GWEN_STO_CLIENT *cl,
00107 GWEN_STO_TYPE *ts,
00108 GWEN_TYPE_UINT32 id,
00109 GWEN_TYPE_UINT32 openFlags,
00110 GWEN_STO_OBJECT **po);
00111
00112 int GWEN_StoStorage_CloseObject(GWEN_STO_STORAGE *st,
00113 GWEN_STO_CLIENT *cl,
00114 GWEN_STO_TYPE *ts,
00115 GWEN_STO_OBJECT *o,
00116 GWEN_STO_CLOSEMODE cm);
00117
00118 int GWEN_StoStorage_DeleteObject(GWEN_STO_STORAGE *st,
00119 GWEN_STO_CLIENT *cl,
00120 GWEN_STO_TYPE *ts,
00121 GWEN_STO_OBJECT *o);
00122
00123 int GWEN_StoStorage_LockObject(GWEN_STO_STORAGE *st,
00124 GWEN_STO_CLIENT *cl,
00125 GWEN_STO_TYPE *ts,
00126 GWEN_TYPE_UINT32 id,
00127 GWEN_STO_LOCKMODE lm);
00128
00129
00130 #endif
00131
00132
00133