diff options
author | José Bollo <jose.bollo@iot.bzh> | 2018-07-27 17:38:22 +0200 |
---|---|---|
committer | José Bollo <jose.bollo@iot.bzh> | 2018-08-02 15:49:43 +0200 |
commit | 5ef271effacb83552f9ea56572c751c2f5a556b6 (patch) | |
tree | 3d5f6665bde93633b0eb6c648c9ab46951443526 /include | |
parent | e39610f8c9b2e6bbb8a460f7d7ccccbc5161b4ed (diff) |
Add ability to provide binding settings
Change-Id: Iab93a26340fa9743a58ca43cd903bbf31c783e5b
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'include')
-rw-r--r-- | include/afb/afb-api-x3-itf.h | 4 | ||||
-rw-r--r-- | include/afb/afb-api-x3.h | 22 | ||||
-rw-r--r-- | include/afb/afb-binding-predefs.h | 1 |
3 files changed, 25 insertions, 2 deletions
diff --git a/include/afb/afb-api-x3-itf.h b/include/afb/afb-api-x3-itf.h index b8cfadf6..ca8fa71a 100644 --- a/include/afb/afb-api-x3-itf.h +++ b/include/afb/afb-api-x3-itf.h @@ -261,6 +261,10 @@ struct afb_api_x3_itf /** delete the api */ int (*delete_api)( struct afb_api_x3 *api); + + /** settings of the api */ + struct json_object *(*settings)( + struct afb_api_x3 *api); }; /** @} */ diff --git a/include/afb/afb-api-x3.h b/include/afb/afb-api-x3.h index 03461350..98aaaa1e 100644 --- a/include/afb/afb-api-x3.h +++ b/include/afb/afb-api-x3.h @@ -357,7 +357,7 @@ int afb_api_x3_queue_job( * Check that it requires the API of 'name'. * If 'initialized' is not zero it request the API to be * initialized, implying its initialization if needed. - * + * * Calling this function is only allowed within init. * * A single request allows to require multiple apis. @@ -581,7 +581,7 @@ struct afb_api_x3 *afb_api_x3_new_api( * @see afb_api_x3_add_verb * @see afb_api_x3_set_verbs_v3 */ -static inline +static inline int afb_api_x3_set_verbs_v2( struct afb_api_x3 *api, const struct afb_verb_v2 *verbs) @@ -941,4 +941,22 @@ int afb_api_x3_delete_api( return api->itf->delete_api(api); } +/** + * Settings of the api. + * + * Get the settings of the API. The settings are recorded + * as a JSON object. The returned object should not be modified. + * It MUST NOT be released using json_object_put. + * + * @param api the api whose settings are required + * + * @returns The setting object. + */ +static inline +struct json_object *afb_api_x3_settings( + struct afb_api_x3 *api) +{ + return api->itf->settings(api); +} + /** @} */ diff --git a/include/afb/afb-binding-predefs.h b/include/afb/afb-binding-predefs.h index 791374b9..56ac504b 100644 --- a/include/afb/afb-binding-predefs.h +++ b/include/afb/afb-binding-predefs.h @@ -331,6 +331,7 @@ #define afb_api_x3_event_handler_del afb_api_event_handler_del #define afb_api_x3_require_class afb_api_require_class #define afb_api_x3_provide_class afb_api_provide_class +#define afb_api_x3_settings afb_api_settings #define AFB_API_ERROR AFB_API_ERROR_V3 #define AFB_API_WARNING AFB_API_WARNING_V3 |