X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-api-v3.h;h=48341d9f2579410d8881e096cf3c846cf5726466;hb=65353dce81a629e042800bb7b86fcd869a76727e;hp=33649f3522aba40cb62511118eaacefe024ba020;hpb=4521c1e7ae5371ab9d639adc617d17fb4e8ded0c;p=src%2Fapp-framework-binder.git diff --git a/src/afb-api-v3.h b/src/afb-api-v3.h index 33649f35..48341d9f 100644 --- a/src/afb-api-v3.h +++ b/src/afb-api-v3.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016, 2017, 2018 "IoT.bzh" + * Copyright (C) 2015-2020 "IoT.bzh" * Author: José Bollo * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -23,29 +23,32 @@ struct afb_api_v3; struct afb_api_x3; struct afb_auth; struct afb_req_x2; -struct afb_verb_v2; struct afb_verb_v3; struct afb_binding_v3; struct afb_xreq; struct json_object; struct afb_export; -extern struct afb_api_v3 *afb_api_v3_create( - struct afb_apiset *declare_set, +extern struct afb_api_v3 *afb_api_v3_create(struct afb_apiset *declare_set, struct afb_apiset *call_set, const char *apiname, const char *info, int noconcurrency, int (*preinit)(void*, struct afb_api_x3 *), void *closure, - int copy_info -); + int copy_info, + struct afb_export* creator, + const char* path); extern struct afb_api_v3 *afb_api_v3_from_binding( const struct afb_binding_v3 *desc, struct afb_apiset *declare_set, struct afb_apiset * call_set); +extern int afb_api_v3_safe_preinit( + struct afb_api_x3 *api, + int (*preinit)(struct afb_api_x3 *)); + extern int afb_api_v3_set_binding_fields(const struct afb_binding_v3 *desc, struct afb_api_x3 *api); extern struct afb_api_v3 *afb_api_v3_addref(struct afb_api_v3 *api); @@ -53,10 +56,6 @@ extern void afb_api_v3_unref(struct afb_api_v3 *api); extern struct afb_export *afb_api_v3_export(struct afb_api_v3 *api); -extern void afb_api_v3_set_verbs_v2( - struct afb_api_v3 *api, - const struct afb_verb_v2 *verbs); - extern void afb_api_v3_set_verbs_v3( struct afb_api_v3 *api, const struct afb_verb_v3 *verbs); @@ -79,3 +78,12 @@ extern int afb_api_v3_del_verb( extern void afb_api_v3_process_call(struct afb_api_v3 *api, struct afb_xreq *xreq); extern struct json_object *afb_api_v3_make_description_openAPIv3(struct afb_api_v3 *api, const char *apiname); +#if WITH_LEGACY_BINDING_V2 + +struct afb_verb_v2; + +extern void afb_api_v3_set_verbs_v2( + struct afb_api_v3 *api, + const struct afb_verb_v2 *verbs); + +#endif \ No newline at end of file