9 #ifndef GWEN_MSG_REQUEST_H 10 #define GWEN_MSG_REQUEST_H 13 #include <gwenhywfar/gwenhywfar.h> 14 #include <gwenhywfar/msg.h> 15 #include <gwenhywfar/endpoint.h> 16 #include <gwenhywfar/inherit.h> 17 #include <gwenhywfar/tree2.h> 18 #include <gwenhywfar/timestamp.h> 21 #define GWEN_MSG_REQUEST_RESULT_NOT_HANDLED 0 22 #define GWEN_MSG_REQUEST_RESULT_HANDLED 1 24 #define GWEN_MSG_REQUEST_REASON_DONE 0 25 #define GWEN_MSG_REQUEST_REASON_ABORTED 1 26 #define GWEN_MSG_REQUEST_REASON_TIMEOUT 2 27 #define GWEN_MSG_REQUEST_REASON_DISCONNECT 3 29 #define GWEN_MSG_REQUEST_STATE_OPEN 0 30 #define GWEN_MSG_REQUEST_STATE_DONE 1 GWENHYWFAR_API void GWEN_MsgRequest_SetRequestMsgId(GWEN_MSG_REQUEST *rq, uint32_t id)
GWENHYWFAR_API GWEN_MSG * GWEN_MsgRequest_GetRequestMsg(const GWEN_MSG_REQUEST *rq)
GWENHYWFAR_API GWEN_MSG_REQUEST * GWEN_MsgRequest_new()
int(* GWEN_MSG_REQUEST_HANDLERESPONSE_FN)(GWEN_MSG_REQUEST *rq, GWEN_MSG *msg)
struct GWEN_MSG_ENDPOINT GWEN_MSG_ENDPOINT
Object which can send and receive messages (base class).
GWENHYWFAR_API void GWEN_MsgRequest_SetPrivateData(GWEN_MSG_REQUEST *rq, void *p)
GWENHYWFAR_API void GWEN_MsgRequest_SetRequestType(GWEN_MSG_REQUEST *rq, int t)
GWENHYWFAR_API void GWEN_MsgRequest_Abort(GWEN_MSG_REQUEST *rq, int reason)
GWENHYWFAR_API int GWEN_MsgRequest_HandleResponse(GWEN_MSG_REQUEST *rq, GWEN_MSG *msg)
GWENHYWFAR_API void GWEN_MsgRequest_SubRequestFinished(GWEN_MSG_REQUEST *rq, GWEN_MSG_REQUEST *subRq, int reason)
GWENHYWFAR_API GWEN_MSG_ENDPOINT * GWEN_MsgRequest_GetEndpoint(const GWEN_MSG_REQUEST *rq)
GWENHYWFAR_API void GWEN_MsgRequest_AddMsgToList(GWEN_MSG_REQUEST *rq, GWEN_MSG *msg)
struct GWEN_MSG_REQUEST GWEN_MSG_REQUEST
GWENHYWFAR_API GWEN_MSG * GWEN_MsgRequest_GetFirstMsgFromList(const GWEN_MSG_REQUEST *rq)
GWENHYWFAR_API void GWEN_MsgRequest_SetExpiresAt(GWEN_MSG_REQUEST *rq, GWEN_TIMESTAMP *ts)
#define GWEN_INHERIT_FUNCTION_LIB_DEFS(t, decl)
GWENHYWFAR_API const GWEN_TIMESTAMP * GWEN_MsgRequest_GetCreatedAt(const GWEN_MSG_REQUEST *rq)
GWENHYWFAR_API int GWEN_MsgRequest_GetResult(const GWEN_MSG_REQUEST *rq)
GWENHYWFAR_API void GWEN_MsgRequest_SetTimestamps(GWEN_MSG_REQUEST *rq, int expiresInSecs)
GWENHYWFAR_API void GWEN_MsgRequest_SetRequestMsg(GWEN_MSG_REQUEST *rq, GWEN_MSG *msg)
GWENHYWFAR_API GWEN_MSG_LIST * GWEN_MsgRequest_GetMsgList(const GWEN_MSG_REQUEST *rq)
GWENHYWFAR_API void GWEN_MsgRequest_free(GWEN_MSG_REQUEST *rq)
GWENHYWFAR_API void GWEN_MsgRequest_SetState(GWEN_MSG_REQUEST *rq, int i)
GWENHYWFAR_API void GWEN_MsgRequest_SetEndpoint(GWEN_MSG_REQUEST *rq, GWEN_MSG_ENDPOINT *ep)
GWENHYWFAR_API GWEN_MSG_REQUEST_HANDLERESPONSE_FN GWEN_MsgRequest_SetHandleResponseFn(GWEN_MSG_REQUEST *rq, GWEN_MSG_REQUEST_HANDLERESPONSE_FN fn)
void(* GWEN_MSG_REQUEST_SUBREQUESTFINISHED_FN)(GWEN_MSG_REQUEST *rq, GWEN_MSG_REQUEST *subRq, int reason)
GWENHYWFAR_API void GWEN_MsgRequest_SetCreatedAt(GWEN_MSG_REQUEST *rq, GWEN_TIMESTAMP *ts)
GWENHYWFAR_API GWEN_MSG_REQUEST_ABORT_FN GWEN_MsgRequest_SetAbortFn(GWEN_MSG_REQUEST *rq, GWEN_MSG_REQUEST_ABORT_FN f)
GWENHYWFAR_API int GWEN_MsgRequest_GetRequestType(const GWEN_MSG_REQUEST *rq)
GWEN_TREE2_FUNCTION_LIB_DEFS(GWEN_JSON_ELEM, GWEN_JsonElement, GWENHYWFAR_API)
GWENHYWFAR_API int GWEN_MsgRequest_GetState(const GWEN_MSG_REQUEST *rq)
GWENHYWFAR_API uint32_t GWEN_MsgRequest_GetRequestMsgId(const GWEN_MSG_REQUEST *rq)
GWENHYWFAR_API GWEN_MSG_REQUEST * GWEN_MsgRequest_Tree2_FindByEndpointAndMsgId(GWEN_MSG_REQUEST *rootRq, GWEN_MSG_ENDPOINT *ep, uint32_t refMsgId)
GWENHYWFAR_API const GWEN_TIMESTAMP * GWEN_MsgRequest_GetExpiresAt(const GWEN_MSG_REQUEST *rq)
GWENHYWFAR_API void * GWEN_MsgRequest_GetPrivateData(const GWEN_MSG_REQUEST *rq)
void(* GWEN_MSG_REQUEST_ABORT_FN)(GWEN_MSG_REQUEST *rq, int reason)
GWENHYWFAR_API GWEN_MSG_REQUEST_SUBREQUESTFINISHED_FN GWEN_MsgRequest_SetSubRequestFinishedFn(GWEN_MSG_REQUEST *rq, GWEN_MSG_REQUEST_SUBREQUESTFINISHED_FN f)
struct GWEN_TIMESTAMP GWEN_TIMESTAMP
GWENHYWFAR_API void GWEN_MsgRequest_SetResult(GWEN_MSG_REQUEST *rq, int result)