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_CLIENT_H
00029 #define GWEN_STO_CLIENT_H
00030
00031 #include <gwenhywfar/list2.h>
00032
00033 typedef struct GWEN_STO_CLIENT GWEN_STO_CLIENT;
00034
00035 GWEN_LIST2_FUNCTION_LIB_DEFS(GWEN_STO_CLIENT, GWEN_StoClient, GWENHYWFAR_API)
00036
00037 #include <gwenhywfar/st_storage.h>
00038 #include <gwenhywfar/st_type.h>
00039 #include <gwenhywfar/st_find.h>
00040 #include <gwenhywfar/st_object.h>
00041
00042
00043 GWENHYWFAR_API
00044 GWEN_TYPE_UINT32 GWEN_StoClient_GetId(const GWEN_STO_CLIENT *cl);
00045
00046 GWENHYWFAR_API
00047 const char *GWEN_StoClient_GetUserName(const GWEN_STO_CLIENT *cl);
00048
00049
00054
00055 GWENHYWFAR_API
00056 int GWEN_StoClient_Create(GWEN_STO_CLIENT *cl);
00057
00058 GWENHYWFAR_API
00059 int GWEN_StoClient_Open(GWEN_STO_CLIENT *cl,
00060 GWEN_TYPE_UINT32 openFlags);
00061
00062 GWENHYWFAR_API
00063 int GWEN_StoClient_Close(GWEN_STO_CLIENT *cl, const char *reason);
00072 GWENHYWFAR_API
00073 int GWEN_StoClient_BeginEdit(GWEN_STO_CLIENT *cl);
00074
00075 GWENHYWFAR_API
00076 int GWEN_StoClient_EndEdit(GWEN_STO_CLIENT *cl,
00077 GWEN_STO_CLOSEMODE cm);
00085 GWENHYWFAR_API
00086 int GWEN_StoClient_CreateType(GWEN_STO_CLIENT *cl,
00087 const char *typeName,
00088 const char *name,
00089 GWEN_STO_TYPE **pts);
00090
00091
00092 GWENHYWFAR_API
00093 int GWEN_StoClient_OpenType(GWEN_STO_CLIENT *cl,
00094 const char *typeName,
00095 const char *name,
00096 GWEN_TYPE_UINT32 openFlags,
00097 GWEN_STO_TYPE **pts);
00098
00099 GWENHYWFAR_API
00100 int GWEN_StoClient_CloseType(GWEN_STO_CLIENT *cl,
00101 GWEN_STO_TYPE *ts,
00102 GWEN_STO_CLOSEMODE cm);
00111 GWENHYWFAR_API
00112 int GWEN_StoClient_FindFirstObject(GWEN_STO_CLIENT *cl,
00113 GWEN_STO_TYPE *ts,
00114 GWEN_STO_FIND **pfnd,
00115 GWEN_TYPE_UINT32 *id);
00116
00117 GWENHYWFAR_API
00118 int GWEN_StoClient_FindNextObject(GWEN_STO_CLIENT *cl,
00119 GWEN_STO_TYPE *ts,
00120 GWEN_STO_FIND *fnd,
00121 GWEN_TYPE_UINT32 *id);
00122
00123 GWENHYWFAR_API
00124 int GWEN_StoClient_CloseFind(GWEN_STO_CLIENT *cl,
00125 GWEN_STO_TYPE *ts,
00126 GWEN_STO_FIND *fnd);
00134 GWENHYWFAR_API
00135 int GWEN_StoClient_CreateObject(GWEN_STO_CLIENT *cl,
00136 GWEN_STO_TYPE *ts,
00137 GWEN_STO_OBJECT **po);
00138
00139 GWENHYWFAR_API
00140 int GWEN_StoClient_OpenObject(GWEN_STO_CLIENT *cl,
00141 GWEN_STO_TYPE *ts,
00142 GWEN_TYPE_UINT32 id,
00143 GWEN_TYPE_UINT32 openFlags,
00144 GWEN_STO_OBJECT **po);
00145
00146 GWENHYWFAR_API
00147 int GWEN_StoClient_CloseObject(GWEN_STO_CLIENT *cl,
00148 GWEN_STO_TYPE *ts,
00149 GWEN_STO_OBJECT *o,
00150 GWEN_STO_CLOSEMODE cm);
00151
00152 GWENHYWFAR_API
00153 int GWEN_StoClient_LockObject(GWEN_STO_CLIENT *cl,
00154 GWEN_STO_TYPE *ts,
00155 GWEN_TYPE_UINT32 id,
00156 GWEN_STO_LOCKMODE lm);
00157
00158 GWENHYWFAR_API
00159 int GWEN_StoClient_DeleteObject(GWEN_STO_CLIENT *cl,
00160 GWEN_STO_TYPE *ts,
00161 GWEN_STO_OBJECT *o);
00162
00167 #endif
00168
00169
00170