00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef CHIPCARD_SERVER2_LOCKMANAGER_L_H
00016 #define CHIPCARD_SERVER2_LOCKMANAGER_L_H
00017
00018 #include <gwenhywfar/types.h>
00019
00020
00021 typedef struct LCS_LOCKMANAGER LCS_LOCKMANAGER;
00022
00023
00027 LCS_LOCKMANAGER *LCS_LockManager_new(const char *objectTypeName);
00028 void LCS_LockManager_free(LCS_LOCKMANAGER *lm);
00029
00030 const char *LCS_LockManager_GetObjectTypeName(const LCS_LOCKMANAGER *lm);
00031
00039 uint32_t LCS_LockManager_RequestLock(LCS_LOCKMANAGER *lm,
00040 uint32_t clid,
00041 int duration,
00042 int maxLocks);
00043
00051 int LCS_LockManager_RequestLockWithId(LCS_LOCKMANAGER *lm,
00052 uint32_t lockid,
00053 uint32_t clid,
00054 int duration,
00055 int maxLocks);
00056
00057 uint32_t LCS_LockManager_GetNextRequestId();
00058
00059
00063 int LCS_LockManager_CheckRequest(LCS_LOCKMANAGER *lm,
00064 uint32_t reqid);
00065
00070 int LCS_LockManager_Unlock(LCS_LOCKMANAGER *lm, uint32_t reqid);
00071
00072
00079 int LCS_LockManager_RemoveRequest(LCS_LOCKMANAGER *lm,
00080 uint32_t reqid);
00081
00082
00088 void LCS_LockManager_RemoveAllClientRequests(LCS_LOCKMANAGER *lm,
00089 uint32_t clid);
00090
00091 int LCS_LockManager_HasLockRequests(const LCS_LOCKMANAGER *lm);
00092
00093
00094 int LCS_LockManager_CheckAccess(LCS_LOCKMANAGER *lm,
00095 uint32_t reqid);
00096
00097
00098 #endif