X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-apiset.h;h=243b73604e2af8233a8011bb30946532d248db29;hb=65353dce81a629e042800bb7b86fcd869a76727e;hp=55068dd317b776743149b0f0f4301021799538f1;hpb=24d000c2290126abf88204089d132229d63f9a05;p=src%2Fapp-framework-binder.git diff --git a/src/afb-apiset.h b/src/afb-apiset.h index 55068dd3..243b7360 100644 --- a/src/afb-apiset.h +++ b/src/afb-apiset.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"); @@ -17,28 +17,59 @@ #pragma once -struct afb_api; +struct afb_api_item; struct afb_apiset; struct json_object; +extern struct afb_apiset *afb_apiset_create(const char *name, int timeout); +extern struct afb_apiset *afb_apiset_create_subset_last(struct afb_apiset *set, const char *name, int timeout); +extern struct afb_apiset *afb_apiset_create_subset_first(struct afb_apiset *set, const char *name, int timeout); extern struct afb_apiset *afb_apiset_addref(struct afb_apiset *set); extern void afb_apiset_unref(struct afb_apiset *set); -extern struct afb_apiset *afb_apiset_create(const char *name, int timeout); + extern const char *afb_apiset_name(struct afb_apiset *set); + extern int afb_apiset_timeout_get(struct afb_apiset *set); extern void afb_apiset_timeout_set(struct afb_apiset *set, int to); -extern void afb_apiset_subset_set(struct afb_apiset *set, struct afb_apiset *subset); + +extern void afb_apiset_onlack_set( + struct afb_apiset *set, + int (*callback)(void *closure, struct afb_apiset *set, const char *name), + void *closure, + void (*cleanup)(void*closure)); + +extern int afb_apiset_subset_set(struct afb_apiset *set, struct afb_apiset *subset); extern struct afb_apiset *afb_apiset_subset_get(struct afb_apiset *set); -extern int afb_apiset_add(struct afb_apiset *set, const char *name, struct afb_api api); + +extern int afb_apiset_add(struct afb_apiset *set, const char *name, struct afb_api_item api); extern int afb_apiset_del(struct afb_apiset *set, const char *name); -extern const struct afb_api *afb_apiset_lookup(struct afb_apiset *set, const char *name, int rec); -extern const struct afb_api *afb_apiset_lookup_started(struct afb_apiset *set, const char *name, int rec); -extern int afb_apiset_start_service(struct afb_apiset *set, const char *name, int share_session, int onneed); -extern int afb_apiset_start_all_services(struct afb_apiset *set, int share_session); + +extern int afb_apiset_add_alias(struct afb_apiset *set, const char *name, const char *alias); +extern int afb_apiset_is_alias(struct afb_apiset *set, const char *name); +extern const char *afb_apiset_unalias(struct afb_apiset *set, const char *name); + +extern const struct afb_api_item *afb_apiset_lookup(struct afb_apiset *set, const char *name, int rec); +extern const struct afb_api_item *afb_apiset_lookup_started(struct afb_apiset *set, const char *name, int rec); + +extern int afb_apiset_start_service(struct afb_apiset *set, const char *name); +extern int afb_apiset_start_all_services(struct afb_apiset *set); + +#if WITH_AFB_HOOK extern void afb_apiset_update_hooks(struct afb_apiset *set, const char *name); -extern void afb_apiset_set_verbosity(struct afb_apiset *set, const char *name, int level); -extern int afb_apiset_get_verbosity(struct afb_apiset *set, const char *name); -extern struct json_object *afb_apiset_describe(struct afb_apiset *set, const char *name); -extern const char **afb_apiset_get_names(struct afb_apiset *set); -extern void afb_apiset_enum(struct afb_apiset *set, int rec, void (*callback)(struct afb_apiset *set, const char *name, void *closure), void *closure); +#endif +extern void afb_apiset_set_logmask(struct afb_apiset *set, const char *name, int mask); +extern int afb_apiset_get_logmask(struct afb_apiset *set, const char *name); + +extern void afb_apiset_describe(struct afb_apiset *set, const char *name, void (*describecb)(void *, struct json_object *), void *closure); + +extern const char **afb_apiset_get_names(struct afb_apiset *set, int rec, int type); +extern void afb_apiset_enum( + struct afb_apiset *set, + int rec, + void (*callback)(void *closure, struct afb_apiset *set, const char *name, int isalias), + void *closure); +extern int afb_apiset_require(struct afb_apiset *set, const char *name, const char *required); +extern int afb_apiset_require_class(struct afb_apiset *set, const char *apiname, const char *classname); +extern int afb_apiset_provide_class(struct afb_apiset *set, const char *apiname, const char *classname); +extern int afb_apiset_class_start(const char *classname);