X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-apis.h;h=02544668b9a52670afa502366a1f9bb06aac6f61;hb=2243a0dd1adc75530bed663db808971789729df3;hp=e269b4c486b28fdc57bb9ce5a027a09c1c37b998;hpb=5c1e761a2f84439b6e53ff1682ee665a7db2bca1;p=src%2Fapp-framework-binder.git diff --git a/src/afb-apis.h b/src/afb-apis.h index e269b4c4..02544668 100644 --- a/src/afb-apis.h +++ b/src/afb-apis.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 "IoT.bzh" + * Copyright (C) 2016, 2017 "IoT.bzh" * Author: José Bollo * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -19,18 +19,38 @@ 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, size_t lenverb); + struct afb_api_itf *itf; }; +extern void afb_apis_set_timeout(int to); -extern int afb_apis_count(); extern int afb_apis_is_valid_api_name(const char *name); + extern int afb_apis_add(const char *name, struct afb_api api); -extern void afb_apis_call(struct afb_req req, struct afb_context *context, const char *api, size_t lenapi, const char *verb, size_t lenverb); -extern void afb_apis_call_(struct afb_req req, struct afb_context *context, const char *api, const char *verb); +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_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();