struct afb_req;
struct afb_event;
struct afb_eventid;
+struct afb_dynapi;
struct afb_stored_req;
/*
/* 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;
};
/*
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);
+
};