00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef CHIPCARD_SERVER_SV_SERVICE_L_H
00015 #define CHIPCARD_SERVER_SV_SERVICE_L_H
00016
00017 #include <gwenhywfar/types.h>
00018 #include <gwenhywfar/process.h>
00019 #include <gwenhywfar/misc.h>
00020
00021 #include <time.h>
00022
00023
00024 typedef struct LCSV_SERVICE LCSV_SERVICE;
00025
00026 GWEN_LIST_FUNCTION_DEFS(LCSV_SERVICE, LCSV_Service)
00027
00028 #include <chipcard/chipcard.h>
00029
00030
00031 LCSV_SERVICE *LCSV_Service_new();
00032 void LCSV_Service_free(LCSV_SERVICE *sv);
00033
00034 LCSV_SERVICE *LCSV_Service_fromDb(GWEN_DB_NODE *db);
00035 void LCSV_Service_toDb(const LCSV_SERVICE *sv, GWEN_DB_NODE *db);
00036
00037 const char *LCSV_Service_GetServiceType(const LCSV_SERVICE *sv);
00038 void LCSV_Service_SetServiceType(LCSV_SERVICE *sv, const char *s);
00039
00040 const char *LCSV_Service_GetServiceName(const LCSV_SERVICE *sv);
00041 void LCSV_Service_SetServiceName(LCSV_SERVICE *sv, const char *s);
00042
00043 const char *LCSV_Service_GetLogFile(const LCSV_SERVICE *sv);
00044 void LCSV_Service_SetLogFile(LCSV_SERVICE *sv, const char *s);
00045
00046 const char *LCSV_Service_GetDataDir(const LCSV_SERVICE *sv);
00047 void LCSV_Service_SetDataDir(LCSV_SERVICE *sv, const char *s);
00048
00049 uint32_t LCSV_Service_GetServiceId(const LCSV_SERVICE *sv);
00050
00051 uint32_t LCSV_Service_GetFlags(const LCSV_SERVICE *sv);
00052 void LCSV_Service_SetFlags(LCSV_SERVICE *sv, uint32_t fl);
00053 void LCSV_Service_AddFlags(LCSV_SERVICE *sv, uint32_t fl);
00054 void LCSV_Service_SubFlags(LCSV_SERVICE *sv, uint32_t fl);
00055
00056 GWEN_PROCESS *LCSV_Service_GetProcess(const LCSV_SERVICE *sv);
00057 void LCSV_Service_SetProcess(LCSV_SERVICE *sv, GWEN_PROCESS *p);
00058
00059 LC_SERVICE_STATUS LCSV_Service_GetStatus(const LCSV_SERVICE *sv);
00060 void LCSV_Service_SetStatus(LCSV_SERVICE *sv, LC_SERVICE_STATUS st);
00061
00062 uint32_t LCSV_Service_GetIpcId(const LCSV_SERVICE *sv);
00063 void LCSV_Service_SetIpcId(LCSV_SERVICE *sv, uint32_t id);
00064
00065 uint32_t LCSV_Service_GetInterestedClients(const LCSV_SERVICE *sv);
00066 void LCSV_Service_IncInterestedClients(LCSV_SERVICE *sv);
00067 void LCSV_Service_DecInterestedClients(LCSV_SERVICE *sv);
00068
00069 uint32_t LCSV_Service_GetActiveClients(const LCSV_SERVICE *sv);
00070 void LCSV_Service_IncActiveClients(LCSV_SERVICE *sv);
00071 void LCSV_Service_DecActiveClients(LCSV_SERVICE *sv);
00072
00073 time_t LCSV_Service_GetLastStatusChangeTime(const LCSV_SERVICE *sv);
00074 time_t LCSV_Service_GetIdleSince(const LCSV_SERVICE *sv);
00075
00076 uint32_t LCSV_Service_GetCurrentRequestId(const LCSV_SERVICE *sv);
00077 void LCSV_Service_SetCurrentRequestId(LCSV_SERVICE *sv, uint32_t rid);
00078
00079 void LCSV_Service_SetTimeout(LCSV_SERVICE *sv, int secs);
00080 int LCSV_Service_CheckTimeout(const LCSV_SERVICE *sv);
00081
00082
00083
00084 #endif
00085
00086
00087