X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-apis.h;h=97778b64c0fdd1e2de7d9268a929fdfdb51c90d8;hb=54b2652e94cfa7840dbebcba46edd5459e7c6e86;hp=dc4401cff0391fcfe0bd7b9b24fb42ab90bb3782;hpb=1205c90cccd3144bab24b4b5fd8dcbf0d0e6b570;p=src%2Fapp-framework-binder.git diff --git a/src/afb-apis.h b/src/afb-apis.h index dc4401cf..97778b64 100644 --- a/src/afb-apis.h +++ b/src/afb-apis.h @@ -15,25 +15,20 @@ * limitations under the License. */ +struct afb_req; +struct AFB_clientCtx; -extern int afb_apis_count(); - -extern void afb_apis_free_context(int apiidx, void *context); - -extern const struct AFB_restapi *afb_apis_get(int apiidx, int verbidx); - -extern int afb_apis_get_verbidx(int apiidx, const char *name); - -extern int afb_apis_get_apiidx(const char *prefix, size_t length); - -extern int afb_apis_add_plugin(const char *path); - -extern int afb_apis_add_directory(const char *path); +struct afb_api +{ + void *closure; + void (*call)(void *closure, struct afb_req req, const char *verb, size_t lenverb); + void (*free_context)(void *closure, void *context); +}; -extern int afb_apis_add_path(const char *path); -extern int afb_apis_add_pathset(const char *pathset); +extern int afb_apis_count(); +extern int afb_apis_add(const char *name, struct afb_api api); +extern void afb_apis_call(struct afb_req req, struct AFB_clientCtx *context, const char *api, size_t lenapi, const char *verb, size_t lenverb); -struct afb_req; -extern int afb_apis_handle(struct afb_req req, const char *api, size_t lenapi, const char *verb, size_t lenverb); +extern void afb_apis_free_context(int apiidx, void *context);