X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-apis.h;h=e269b4c486b28fdc57bb9ce5a027a09c1c37b998;hb=5c1e761a2f84439b6e53ff1682ee665a7db2bca1;hp=a37df5d318756abd0fa33f25bedc8391cda346f2;hpb=ca208671cc79bbc05c574df788035878e5d39382;p=src%2Fapp-framework-binder.git diff --git a/src/afb-apis.h b/src/afb-apis.h index a37df5d3..e269b4c4 100644 --- a/src/afb-apis.h +++ b/src/afb-apis.h @@ -1,5 +1,5 @@ /* - * Copyright 2016 IoT.bzh + * Copyright (C) 2016 "IoT.bzh" * Author: José Bollo * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -15,23 +15,22 @@ * limitations under the License. */ +#pragma once -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); +struct afb_req; +struct afb_context; -extern int afb_apis_get_apiidx(const char *prefix, size_t length); +struct afb_api +{ + void *closure; + void (*call)(void *closure, struct afb_req req, struct afb_context *context, const char *verb, size_t lenverb); +}; -extern int afb_apis_add_plugin(const char *path); -extern int afb_apis_add_directory(const char *path); - -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_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);