00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef CHIPCARD_SERVER_DM_DRIVER_L_H
00015 #define CHIPCARD_SERVER_DM_DRIVER_L_H
00016
00017
00018 typedef struct LCDM_DRIVER LCDM_DRIVER;
00019
00020
00021 #include <gwenhywfar/process.h>
00022 #include <gwenhywfar/db.h>
00023 #include <gwenhywfar/misc.h>
00024
00025 #include <time.h>
00026
00027
00028 GWEN_LIST_FUNCTION_DEFS(LCDM_DRIVER, LCDM_Driver);
00029
00030
00031 #include <chipcard/chipcard.h>
00032 #include "devicemanager_l.h"
00033
00034
00035 LCDM_DRIVER *LCDM_Driver_new();
00036 LCDM_DRIVER *LCDM_Driver_fromDb(GWEN_DB_NODE *db);
00037 void LCDM_Driver_free(LCDM_DRIVER *d);
00038
00039 void LCDM_Driver_toDb(const LCDM_DRIVER *d, GWEN_DB_NODE *db);
00040
00041 int LCDM_Driver_GetMaxReaders(const LCDM_DRIVER *d);
00042 void LCDM_Driver_SetMaxReaders(LCDM_DRIVER *d, int maxReaders);
00043
00044 const char *LCDM_Driver_GetDriverType(const LCDM_DRIVER *d);
00045 void LCDM_Driver_SetDriverType(LCDM_DRIVER *d, const char *s);
00046
00047 const char *LCDM_Driver_GetDriverName(const LCDM_DRIVER *d);
00048 void LCDM_Driver_SetDriverName(LCDM_DRIVER *d, const char *s);
00049
00050 const char *LCDM_Driver_GetDriverDataDir(const LCDM_DRIVER *d);
00051 void LCDM_Driver_SetDriverDataDir(LCDM_DRIVER *d, const char *s);
00052
00053 const char *LCDM_Driver_GetCustomerId(const LCDM_DRIVER *d);
00054 void LCDM_Driver_SetCustomerId(LCDM_DRIVER *d, const char *s);
00055
00056 const char *LCDM_Driver_GetLibraryFile(const LCDM_DRIVER *d);
00057 void LCDM_Driver_SetLibraryFile(LCDM_DRIVER *d, const char *s);
00058
00059 const char *LCDM_Driver_GetLogFile(const LCDM_DRIVER *d);
00060 void LCDM_Driver_SetLogFile(LCDM_DRIVER *d, const char *s);
00061
00062 uint32_t LCDM_Driver_GetDriverId(const LCDM_DRIVER *d);
00063
00064 GWEN_PROCESS *LCDM_Driver_GetProcess(const LCDM_DRIVER *d);
00065 void LCDM_Driver_SetProcess(LCDM_DRIVER *d, GWEN_PROCESS *p);
00066
00067 LC_DRIVER_STATUS LCDM_Driver_GetStatus(const LCDM_DRIVER *d);
00068 void LCDM_Driver_SetStatus(LCDM_DRIVER *d, LC_DRIVER_STATUS st);
00069
00070 time_t LCDM_Driver_GetLastStatusChangeTime(const LCDM_DRIVER *d);
00071 time_t LCDM_Driver_GetIdleSince(const LCDM_DRIVER *d);
00072
00073 uint32_t LCDM_Driver_GetActiveReadersCount(const LCDM_DRIVER *d);
00074 void LCDM_Driver_ResetActiveReadersCount(LCDM_DRIVER *d);
00075 void LCDM_Driver_IncActiveReadersCount(LCDM_DRIVER *d, int count);
00076 void LCDM_Driver_DecActiveReadersCount(LCDM_DRIVER *d, int count);
00077
00078 uint32_t LCDM_Driver_GetAssignedReadersCount(const LCDM_DRIVER *d);
00079 void LCDM_Driver_ResetAssignedReadersCount(LCDM_DRIVER *d);
00080 void LCDM_Driver_IncAssignedReadersCount(LCDM_DRIVER *d);
00081 void LCDM_Driver_DecAssignedReadersCount(LCDM_DRIVER *d);
00082
00083 uint32_t LCDM_Driver_GetDriverFlags(const LCDM_DRIVER *d);
00084 void LCDM_Driver_SetDriverFlags(LCDM_DRIVER *d, uint32_t fl);
00085 void LCDM_Driver_AddDriverFlags(LCDM_DRIVER *d, uint32_t fl);
00086 void LCDM_Driver_SubDriverFlags(LCDM_DRIVER *d, uint32_t fl);
00087
00088 uint32_t LCDM_Driver_GetIpcId(const LCDM_DRIVER *d);
00089 void LCDM_Driver_SetIpcId(LCDM_DRIVER *d, uint32_t id);
00090
00091 time_t LCDM_Driver_GetPingTime(const LCDM_DRIVER *d);
00092 void LCDM_Driver_SetPingTime(LCDM_DRIVER *d, time_t t);
00093 time_t LCDM_Driver_GetPongTime(const LCDM_DRIVER *d);
00094 void LCDM_Driver_SetPongTime(LCDM_DRIVER *d, time_t t);
00095
00096 void LCDM_Driver_SetTimeout(LCDM_DRIVER *d, int secs);
00097 int LCDM_Driver_CheckTimeout(const LCDM_DRIVER *d);
00098
00099 GWEN_DB_NODE *LCDM_Driver_GetDriverVars(const LCDM_DRIVER *d);
00100
00101 void LCDM_Driver_Dump(const LCDM_DRIVER *d, FILE *f, int indent);
00102
00103 #endif
00104
00105