struct afb_req;
struct afb_context;
+struct afb_xreq;
+
+struct afb_api_itf
+{
+ void (*call)(void *closure, struct afb_xreq *xreq);
+ int (*service_start)(void *closure, int share_session, int onneed);
+ void (*update_hooks)(void *closure);
+ int (*get_verbosity)(void *closure);
+ void (*set_verbosity)(void *closure, int level);
+};
struct afb_api
{
void *closure;
- void (*call)(void *closure, struct afb_req req, struct afb_context *context, const char *verb);
- int (*service_start)(void *closure, int share_session, int onneed);
+ struct afb_api_itf *itf;
};
+extern void afb_apis_set_timeout(int to);
extern int afb_apis_is_valid_api_name(const char *name);
extern int afb_apis_start_all_services(int share_session);
extern int afb_apis_start_service(const char *name, int share_session, int onneed);
-extern void afb_apis_call(struct afb_req req, struct afb_context *context, const char *api, const char *verb);
+extern void afb_apis_call(struct afb_xreq *xreq);
+extern void afb_apis_call_direct(struct afb_xreq *xreq);
+
+extern void afb_apis_update_hooks(const char *api);
+extern void afb_apis_set_verbosity(const char *api, int level);
+extern int afb_apis_get_verbosity(const char *api);
+extern const char **afb_apis_get_names();