smp_storage_be.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile$
00003  -------------------
00004  cvs         : $Id: csv_p.h 120 2003-12-03 23:29:33Z aquamaniac $
00005  begin       : Thu Oct 30 2003
00006  copyright   : (C) 2003 by Martin Preuss
00007  email       : martin@libchipcard.de
00008 
00009  ***************************************************************************
00010  *                                                                         *
00011  *   This library is free software; you can redistribute it and/or         *
00012  *   modify it under the terms of the GNU Lesser General Public            *
00013  *   License as published by the Free Software Foundation; either          *
00014  *   version 2.1 of the License, or (at your option) any later version.    *
00015  *                                                                         *
00016  *   This library is distributed in the hope that it will be useful,       *
00017  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00018  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
00019  *   Lesser General Public License for more details.                       *
00020  *                                                                         *
00021  *   You should have received a copy of the GNU Lesser General Public      *
00022  *   License along with this library; if not, write to the Free Software   *
00023  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
00024  *   MA  02111-1307  USA                                                   *
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 

Generated on Sat Sep 16 11:19:15 2006 for gwenhywfar by  doxygen 1.4.7