request.h
Go to the documentation of this file.00001
00002
00003
00004 #ifndef REQUEST_H
00005 #define REQUEST_H
00006
00065 #ifdef __cplusplus
00066 extern "C" {
00067 #endif
00068
00069 typedef struct GWEN_IPC_REQUEST GWEN_IPC_REQUEST;
00070
00071 #ifdef __cplusplus
00072 }
00073 #endif
00074
00075 #include <gwenhywfar/db.h>
00076 #include <gwenhywfar/inherit.h>
00077 #include <gwenhywfar/misc.h>
00078 #include <gwenhywfar/list2.h>
00079
00080 #include <gwenhywfar/types.h>
00081 #include <gwenhywfar/gwentime.h>
00082
00083 #ifdef __cplusplus
00084 extern "C" {
00085 #endif
00086
00087 typedef enum {
00088 GWEN_IpcRequest_StatusUnknown=-1,
00091 GWEN_IpcRequest_StatusNew=0,
00094 GWEN_IpcRequest_StatusSent,
00097 GWEN_IpcRequest_StatusPartial,
00100 GWEN_IpcRequest_StatusAnswered,
00103 GWEN_IpcRequest_StatusFinished
00104 } GWEN_IPC_REQUEST_STATUS;
00105
00106 GWENHYWFAR_API GWEN_IPC_REQUEST_STATUS GWEN_IpcRequest_Status_fromString(const char *s);
00107 GWENHYWFAR_API const char *GWEN_IpcRequest_Status_toString(GWEN_IPC_REQUEST_STATUS v);
00108
00109 typedef int (*GWEN_IPC_REQUEST_WORK_FN)(GWEN_IPC_REQUEST *st);
00110
00111 GWEN_INHERIT_FUNCTION_LIB_DEFS(GWEN_IPC_REQUEST, GWENHYWFAR_API)
00112 GWEN_LIST_FUNCTION_LIB_DEFS(GWEN_IPC_REQUEST, GWEN_IpcRequest, GWENHYWFAR_API)
00113 GWENHYWFAR_API GWEN_IPC_REQUEST_LIST *GWEN_IpcRequest_List_dup(const GWEN_IPC_REQUEST_LIST *stl);
00114
00115 GWEN_LIST2_FUNCTION_LIB_DEFS(GWEN_IPC_REQUEST, GWEN_IpcRequest, GWENHYWFAR_API)
00116
00119 GWENHYWFAR_API void GWEN_IpcRequest_List2_freeAll(GWEN_IPC_REQUEST_LIST2 *stl);
00120
00123 GWENHYWFAR_API GWEN_IPC_REQUEST *GWEN_IpcRequest_new();
00126 GWENHYWFAR_API GWEN_IPC_REQUEST *GWEN_IpcRequest_fromDb(GWEN_DB_NODE *db);
00129 GWENHYWFAR_API GWEN_IPC_REQUEST *GWEN_IpcRequest_dup(const GWEN_IPC_REQUEST*st);
00132 GWENHYWFAR_API void GWEN_IpcRequest_free(GWEN_IPC_REQUEST *st);
00135 GWENHYWFAR_API void GWEN_IpcRequest_Attach(GWEN_IPC_REQUEST *st);
00138 GWENHYWFAR_API int GWEN_IpcRequest_ReadDb(GWEN_IPC_REQUEST *st, GWEN_DB_NODE *db);
00141 GWENHYWFAR_API int GWEN_IpcRequest_toDb(const GWEN_IPC_REQUEST*st, GWEN_DB_NODE *db);
00144 GWENHYWFAR_API int GWEN_IpcRequest_IsModified(const GWEN_IPC_REQUEST *st);
00147 GWENHYWFAR_API void GWEN_IpcRequest_SetModified(GWEN_IPC_REQUEST *st, int i);
00148
00149
00153 GWENHYWFAR_API uint32_t GWEN_IpcRequest_GetId(const GWEN_IPC_REQUEST *el);
00157 GWENHYWFAR_API void GWEN_IpcRequest_SetId(GWEN_IPC_REQUEST *el, uint32_t d);
00158
00162 GWENHYWFAR_API const char *GWEN_IpcRequest_GetName(const GWEN_IPC_REQUEST *el);
00166 GWENHYWFAR_API void GWEN_IpcRequest_SetName(GWEN_IPC_REQUEST *el, const char *d);
00167
00171 GWENHYWFAR_API uint32_t GWEN_IpcRequest_GetIpcId(const GWEN_IPC_REQUEST *el);
00175 GWENHYWFAR_API void GWEN_IpcRequest_SetIpcId(GWEN_IPC_REQUEST *el, uint32_t d);
00176
00180 GWENHYWFAR_API const GWEN_TIME *GWEN_IpcRequest_GetExpires(const GWEN_IPC_REQUEST *el);
00184 GWENHYWFAR_API void GWEN_IpcRequest_SetExpires(GWEN_IPC_REQUEST *el, const GWEN_TIME *d);
00185
00189 GWENHYWFAR_API GWEN_IPC_REQUEST_LIST *GWEN_IpcRequest_GetSubRequests(const GWEN_IPC_REQUEST *el);
00193 GWENHYWFAR_API void GWEN_IpcRequest_SetSubRequests(GWEN_IPC_REQUEST *el, GWEN_IPC_REQUEST_LIST *d);
00194
00198 GWENHYWFAR_API GWEN_IPC_REQUEST_STATUS GWEN_IpcRequest_GetStatus(const GWEN_IPC_REQUEST *el);
00202 GWENHYWFAR_API void GWEN_IpcRequest_SetStatus(GWEN_IPC_REQUEST *el, GWEN_IPC_REQUEST_STATUS d);
00203
00207 GWENHYWFAR_API GWEN_IPC_REQUEST_WORK_FN GWEN_IpcRequest_GetWorkFn(const GWEN_IPC_REQUEST *st);
00211 GWENHYWFAR_API void GWEN_IpcRequest_SetWorkFn(GWEN_IPC_REQUEST *st, GWEN_IPC_REQUEST_WORK_FN d);
00214 GWENHYWFAR_API int GWEN_IpcRequest_WorkFn(GWEN_IPC_REQUEST *st);
00215
00216
00217 #ifdef __cplusplus
00218 }
00219 #endif
00220
00221
00222 #endif