aboutsummaryrefslogtreecommitdiffstats
path: root/include/afb
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2018-07-27 17:38:22 +0200
committerJosé Bollo <jose.bollo@iot.bzh>2018-08-02 15:49:43 +0200
commit5ef271effacb83552f9ea56572c751c2f5a556b6 (patch)
tree3d5f6665bde93633b0eb6c648c9ab46951443526 /include/afb
parente39610f8c9b2e6bbb8a460f7d7ccccbc5161b4ed (diff)
Add ability to provide binding settings
Change-Id: Iab93a26340fa9743a58ca43cd903bbf31c783e5b Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'include/afb')
-rw-r--r--include/afb/afb-api-x3-itf.h4
-rw-r--r--include/afb/afb-api-x3.h22
-rw-r--r--include/afb/afb-binding-predefs.h1
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