hooks: Allow to remove hooking (and/or trace)
[src/app-framework-binder.git] / src / afb-calls.h
index 43a5cef..2f2d8e2 100644 (file)
@@ -27,7 +27,6 @@ struct afb_req_x1;
 struct afb_req_x2;
 
 /******************************************************************************/
-
 extern
 void afb_calls_call(
                struct afb_export *export,
@@ -37,15 +36,6 @@ void afb_calls_call(
                void (*callback)(void*, struct json_object*, const char *error, const char *info, struct afb_api_x3*),
                void *closure);
 
-extern
-void afb_calls_hooked_call(
-               struct afb_export *export,
-               const char *api,
-               const char *verb,
-               struct json_object *args,
-               void (*callback)(void*, struct json_object*, const char *error, const char *info, struct afb_api_x3*),
-               void *closure);
-
 extern
 int afb_calls_call_sync(
                struct afb_export *export,
@@ -56,16 +46,6 @@ int afb_calls_call_sync(
                char **error,
                char **info);
 
-extern
-int afb_calls_hooked_call_sync(
-               struct afb_export *export,
-               const char *api,
-               const char *verb,
-               struct json_object *args,
-               struct json_object **object,
-               char **error,
-               char **info);
-
 extern
 void afb_calls_subcall(
                        struct afb_xreq *xreq,
@@ -77,25 +57,47 @@ void afb_calls_subcall(
                        void *closure);
 
 extern
-void afb_calls_hooked_subcall(
+int afb_calls_subcall_sync(
                        struct afb_xreq *xreq,
                        const char *api,
                        const char *verb,
                        struct json_object *args,
                        int flags,
-                       void (*callback)(void *closure, struct json_object *object, const char *error, const char * info, struct afb_req_x2 *req),
-                       void *closure);
+                       struct json_object **object,
+                       char **error,
+                       char **info);
+
+/******************************************************************************/
+#if WITH_AFB_HOOK
 
 extern
-int afb_calls_subcall_sync(
+void afb_calls_hooked_call(
+               struct afb_export *export,
+               const char *api,
+               const char *verb,
+               struct json_object *args,
+               void (*callback)(void*, struct json_object*, const char *error, const char *info, struct afb_api_x3*),
+               void *closure);
+
+extern
+int afb_calls_hooked_call_sync(
+               struct afb_export *export,
+               const char *api,
+               const char *verb,
+               struct json_object *args,
+               struct json_object **object,
+               char **error,
+               char **info);
+
+extern
+void afb_calls_hooked_subcall(
                        struct afb_xreq *xreq,
                        const char *api,
                        const char *verb,
                        struct json_object *args,
                        int flags,
-                       struct json_object **object,
-                       char **error,
-                       char **info);
+                       void (*callback)(void *closure, struct json_object *object, const char *error, const char * info, struct afb_req_x2 *req),
+                       void *closure);
 
 extern
 int afb_calls_hooked_subcall_sync(
@@ -108,6 +110,7 @@ int afb_calls_hooked_subcall_sync(
                        char **error,
                        char **info);
 
+#endif /* WITH_AFB_HOOK */
 /******************************************************************************/
 
 extern
@@ -120,39 +123,42 @@ void afb_calls_legacy_call_v12(
                void *closure);
 
 extern
-void afb_calls_legacy_hooked_call_v12(
+void afb_calls_legacy_call_v3(
                struct afb_export *export,
                const char *api,
                const char *verb,
                struct json_object *args,
-               void (*callback)(void*, int, struct json_object*),
+               void (*callback)(void*, int, struct json_object*, struct afb_api_x3 *),
                void *closure);
 
 extern
-void afb_calls_legacy_call_v3(
+int afb_calls_legacy_call_sync(
                struct afb_export *export,
                const char *api,
                const char *verb,
                struct json_object *args,
-               void (*callback)(void*, int, struct json_object*, struct afb_api_x3 *),
-               void *closure);
+               struct json_object **result);
+
+/******************************************************************************/
+#if WITH_AFB_HOOK
 
 extern
-void afb_calls_legacy_hooked_call_v3(
+void afb_calls_legacy_hooked_call_v12(
                struct afb_export *export,
                const char *api,
                const char *verb,
                struct json_object *args,
-               void (*callback)(void*, int, struct json_object*, struct afb_api_x3 *),
+               void (*callback)(void*, int, struct json_object*),
                void *closure);
 
 extern
-int afb_calls_legacy_call_sync(
+void afb_calls_legacy_hooked_call_v3(
                struct afb_export *export,
                const char *api,
                const char *verb,
                struct json_object *args,
-               struct json_object **result);
+               void (*callback)(void*, int, struct json_object*, struct afb_api_x3 *),
+               void *closure);
 
 extern
 int afb_calls_legacy_hooked_call_sync(
@@ -162,6 +168,7 @@ int afb_calls_legacy_hooked_call_sync(
                struct json_object *args,
                struct json_object **result);
 
+#endif /* WITH_AFB_HOOK */
 /******************************************************************************/
 
 extern
@@ -174,57 +181,60 @@ void afb_calls_legacy_subcall_v1(
                void *closure);
 
 extern
-void afb_calls_legacy_hooked_subcall_v1(
+void afb_calls_legacy_subcall_v2(
                struct afb_xreq *caller,
                const char *api,
                const char *verb,
                struct json_object *args,
-               void (*callback)(void*, int, struct json_object*),
+               void (*callback)(void*, int, struct json_object*, struct afb_req_x1),
                void *closure);
 
 extern
-void afb_calls_legacy_subcall_v2(
+void afb_calls_legacy_subcall_v3(
                struct afb_xreq *caller,
                const char *api,
                const char *verb,
                struct json_object *args,
-               void (*callback)(void*, int, struct json_object*, struct afb_req_x1),
+               void (*callback)(void*, int, struct json_object*, struct afb_req_x2 *),
                void *closure);
 
 extern
-void afb_calls_legacy_hooked_subcall_v2(
+int afb_calls_legacy_subcall_sync(
                struct afb_xreq *caller,
                const char *api,
                const char *verb,
                struct json_object *args,
-               void (*callback)(void*, int, struct json_object*, struct afb_req_x1),
-               void *closure);
+               struct json_object **result);
+
+/******************************************************************************/
+#if WITH_AFB_HOOK
 
 extern
-void afb_calls_legacy_subcall_v3(
+void afb_calls_legacy_hooked_subcall_v1(
                struct afb_xreq *caller,
                const char *api,
                const char *verb,
                struct json_object *args,
-               void (*callback)(void*, int, struct json_object*, struct afb_req_x2 *),
+               void (*callback)(void*, int, struct json_object*),
                void *closure);
 
 extern
-void afb_calls_legacy_hooked_subcall_v3(
+void afb_calls_legacy_hooked_subcall_v2(
                struct afb_xreq *caller,
                const char *api,
                const char *verb,
                struct json_object *args,
-               void (*callback)(void*, int, struct json_object*, struct afb_req_x2 *),
+               void (*callback)(void*, int, struct json_object*, struct afb_req_x1),
                void *closure);
 
 extern
-int afb_calls_legacy_subcall_sync(
+void afb_calls_legacy_hooked_subcall_v3(
                struct afb_xreq *caller,
                const char *api,
                const char *verb,
                struct json_object *args,
-               struct json_object **result);
+               void (*callback)(void*, int, struct json_object*, struct afb_req_x2 *),
+               void *closure);
 
 extern
 int afb_calls_legacy_hooked_subcall_sync(
@@ -233,3 +243,6 @@ int afb_calls_legacy_hooked_subcall_sync(
                const char *verb,
                struct json_object *args,
                struct json_object **result);
+
+#endif /* WITH_AFB_HOOK */
+/******************************************************************************/