X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=include%2Fafb%2Fafb-request-itf.h;h=d9d9c835699e4742c5ada676c2b42ece947dd45f;hb=9c1c9a1ba46eb9ddada4167ce9d20143ee3c9636;hp=4c62b3de6dfcbc78e3688fc0feff8636beb3456b;hpb=39a955678ac5f16646e5841a720d1d358600dabb;p=src%2Fapp-framework-binder.git diff --git a/include/afb/afb-request-itf.h b/include/afb/afb-request-itf.h index 4c62b3de..d9d9c835 100644 --- a/include/afb/afb-request-itf.h +++ b/include/afb/afb-request-itf.h @@ -28,6 +28,7 @@ struct json_object; struct afb_req; struct afb_event; struct afb_eventid; +struct afb_dynapi; struct afb_stored_req; /* @@ -42,9 +43,26 @@ struct afb_arg /* when the request is finalized this file is removed */ }; +/* + * structure for the request + */ struct afb_request { + /* interface for the request */ const struct afb_request_itf *itf; + + /* current dynapi (if any) */ + struct afb_dynapi *dynapi; + + /* closure associated with the callback processing the verb of the request + * as given at its declaration */ + void *vcbdata; + + /* the name of the called verb */ + const char *api; + + /* the name of the called verb */ + const char *verb; }; /* @@ -163,5 +181,25 @@ struct afb_request_itf void *(*create_value)(void *creation_closure), void (*free_value)(void*), void *creation_closure); + + int (*subscribe_eventid)( + struct afb_request *request, + struct afb_eventid *eventid); + + int (*unsubscribe_eventid)( + struct afb_request *request, + struct afb_eventid *eventid); + + void (*subcall_request)( + struct afb_request *request, + const char *api, + const char *verb, + struct json_object *args, + void (*callback)(void*, int, struct json_object*, struct afb_request *request), + void *cb_closure); + + int (*get_uid)( + struct afb_request *request); + };