00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef CHIPCARD_SERVER2_CM_CARDMGR_L_H
00016 #define CHIPCARD_SERVER2_CM_CARDMGR_L_H
00017
00018 typedef struct LCCM_CARDMANAGER LCCM_CARDMANAGER;
00019
00020 #include "cm_card_l.h"
00021 #include "server_l.h"
00022
00023 #include <time.h>
00024
00025
00026
00027 LCCM_CARDMANAGER *LCCM_CardManager_new(LCS_SERVER *server);
00028 void LCCM_CardManager_free(LCCM_CARDMANAGER *cm);
00029
00030 int LCCM_CardManager_Init(LCCM_CARDMANAGER *cm, GWEN_DB_NODE *dbConfig);
00031 int LCCM_CardManager_Fini(LCCM_CARDMANAGER *cm, GWEN_DB_NODE *dbConfig);
00032
00033 void LCCM_CardManager_NewCard(LCCM_CARDMANAGER *cm, LCCO_CARD *card);
00034
00035 void LCCM_CardManager_ReaderDown(LCCM_CARDMANAGER *cm, uint32_t rid);
00036 void LCCM_CardManager_ClientDown(LCCM_CARDMANAGER *cm, uint32_t clid);
00037
00038
00039 void LCCM_CardManager_CardRemoved(LCCM_CARDMANAGER *cm, LCCO_CARD *card);
00040
00041 LCCO_CARD *LCCM_CardManager_FindCard(LCCM_CARDMANAGER *cm,
00042 uint32_t cid);
00043
00044 LCCO_CARD *LCCM_CardManager_GetFirstCard(LCCM_CARDMANAGER *cm);
00045 LCCO_CARD *LCCM_CardManager_GetNextCard(LCCM_CARDMANAGER *cm,
00046 LCCO_CARD *card);
00047
00048
00049 int LCCM_CardManager_RequestLockCard(LCCM_CARDMANAGER *cm,
00050 LCCO_CARD *card,
00051 uint32_t clid,
00052 int duration,
00053 int maxLocks);
00054
00055 int LCCM_CardManager_CheckLockCardRequest(LCCM_CARDMANAGER *cm,
00056 LCCO_CARD *card,
00057 uint32_t clid);
00058
00059 int LCCM_CardManager_UnlockCard(LCCM_CARDMANAGER *cm,
00060 LCCO_CARD *card,
00061 uint32_t clid);
00062
00063 int LCCM_CardManager_SetCardAdTime(LCCM_CARDMANAGER *cm,
00064 LCCO_CARD *card,
00065 time_t t);
00066
00067 int LCCM_CardManager_CheckAccess(LCCM_CARDMANAGER *cm,
00068 LCCO_CARD *card,
00069 uint32_t clid);
00070
00074 int LCCM_CardManager_Work(LCCM_CARDMANAGER *cm);
00075
00076
00077 void LCCM_CardManager_DumpState(const LCCM_CARDMANAGER *cm);
00078
00079
00080 #endif
00081