Add the function afb_req_get_uid
[src/app-framework-binder.git] / include / afb / afb-request.h
index acfb7ea..f9a1bbb 100644 (file)
 
 #include "afb-request-itf.h"
 
-typedef struct afb_request afb_request;
+static inline struct afb_dynapi *afb_request_get_dynapi(struct afb_request *request)
+{
+       return request->dynapi;
+}
+
+static inline void *afb_request_get_vcbdata(struct afb_request *request)
+{
+       return request->vcbdata;
+}
+
+static inline const char *afb_request_get_api(struct afb_request *request)
+{
+       return request->api;
+}
+
+static inline const char *afb_request_get_verb(struct afb_request *request)
+{
+       return request->verb;
+}
 
 /*
  * Gets from the request 'request' the argument of 'name'.
@@ -274,9 +292,9 @@ static inline int afb_request_unsubscribe(struct afb_request *request, struct af
  *  - 'afb_request_subcall_req' that is convenient to keep request alive automatically.
  *  - 'afb_request_subcall_sync' the synchronous version
  */
-static inline void afb_request_subcall(struct afb_request *request, const char *api, const char *verb, struct json_object *args, void (*callback)(void *closure, int iserror, struct json_object *result), void *closure)
+static inline void afb_request_subcall(struct afb_request *request, const char *api, const char *verb, struct json_object *args, void (*callback)(void *closure, int iserror, struct json_object *result, struct afb_request *request), void *closure)
 {
-       request->itf->subcall(request, api, verb, args, callback, closure);
+       request->itf->subcall_request(request, api, verb, args, callback, closure);
 }
 
 /*
@@ -358,3 +376,14 @@ static inline char *afb_request_get_application_id(struct afb_request *request)
        return request->itf->get_application_id(request);
 }
 
+/*
+ * Get the user identifier (UID) of the client for the
+ * request 'request'.
+ *
+ * Returns -1 when the application can not be identified.
+ */
+static inline int afb_request_get_uid(struct afb_request *request)
+{
+       return request->itf->get_uid(request);
+}
+