summaryrefslogtreecommitdiffstats
path: root/include/afb
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2017-09-04 18:17:55 +0200
committerJosé Bollo <jose.bollo@iot.bzh>2017-09-07 09:43:14 +0200
commit550b36945f2e9eae1fc4b822ea9a00a2a866eb83 (patch)
tree6d94b4fa92efcd7ff4a4cf9f8e0bb5b73f46dc3d /include/afb
parente51d68ddc998f558507217e3c849b16ce94c068f (diff)
Allow renaming of API
The function afb_daemon_rename_api allows to rename an API during the preinit phase. Change-Id: I35477ba99d35b1dc51a7cacf8e55c3f02d86d7b4 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'include/afb')
-rw-r--r--include/afb/afb-binding.h2
-rw-r--r--include/afb/afb-daemon-common.h1
-rw-r--r--include/afb/afb-daemon-v1.h11
-rw-r--r--include/afb/afb-daemon-v2.h11
4 files changed, 25 insertions, 0 deletions
diff --git a/include/afb/afb-binding.h b/include/afb/afb-binding.h
index 1c4ec3f2..f8e38c49 100644
--- a/include/afb/afb-binding.h
+++ b/include/afb/afb-binding.h
@@ -161,6 +161,7 @@ typedef struct afb_service_itf afb_service_itf;
#define afb_daemon_rootdir_open_locale afb_daemon_rootdir_open_locale_v1
#define afb_daemon_queue_job afb_daemon_queue_job_v1
#define afb_daemon_require_api afb_daemon_require_api_v1
+#define afb_daemon_rename_api afb_daemon_rename_api_v1
#define afb_service_call afb_service_call_v1
#define afb_service_call_sync afb_service_call_sync_v1
@@ -216,6 +217,7 @@ typedef struct afb_service_itf afb_service_itf;
#define afb_daemon_queue_job afb_daemon_queue_job_v2
#define afb_daemon_unstore_req afb_daemon_unstore_req_v2
#define afb_daemon_require_api afb_daemon_require_api_v2
+#define afb_daemon_rename_api afb_daemon_rename_api_v2
#define afb_service_call afb_service_call_v2
#define afb_service_call_sync afb_service_call_sync_v2
diff --git a/include/afb/afb-daemon-common.h b/include/afb/afb-daemon-common.h
index 1d576b9a..5faf5758 100644
--- a/include/afb/afb-daemon-common.h
+++ b/include/afb/afb-daemon-common.h
@@ -42,6 +42,7 @@ struct afb_daemon_itf
void (*vverbose_v2)(void*closure, int level, const char *file, int line, const char * func, const char *fmt, va_list args);
struct afb_req (*unstore_req)(void*closure, struct afb_stored_req *sreq);
int (*require_api)(void*closure, const char *name, int initialized);
+ int (*rename_api)(void*closure, const char *name);
};
/*
diff --git a/include/afb/afb-daemon-v1.h b/include/afb/afb-daemon-v1.h
index 81cdb124..7fc2c235 100644
--- a/include/afb/afb-daemon-v1.h
+++ b/include/afb/afb-daemon-v1.h
@@ -180,3 +180,14 @@ static inline int afb_daemon_require_api_v1(struct afb_daemon daemon, const char
{
return daemon.itf->require_api(daemon.closure, name, initialized);
}
+
+/*
+ * Set the name of the API to 'name'.
+ * Calling this function is only allowed within preinit.
+ * Returns 0 in case of success or -1 in case of error.
+ */
+static inline int afb_daemon_rename_api_v1(struct afb_daemon daemon, const char *name)
+{
+ return daemon.itf->rename_api(daemon.closure, name);
+}
+
diff --git a/include/afb/afb-daemon-v2.h b/include/afb/afb-daemon-v2.h
index 7ef085b0..1451a097 100644
--- a/include/afb/afb-daemon-v2.h
+++ b/include/afb/afb-daemon-v2.h
@@ -157,3 +157,14 @@ static inline int afb_daemon_require_api_v2(const char *name, int initialized)
{
return afb_get_daemon_v2().itf->require_api(afb_get_daemon_v2().closure, name, initialized);
}
+
+/*
+ * Set the name of the API to 'name'.
+ * Calling this function is only allowed within preinit.
+ * Returns 0 in case of success or -1 in case of error.
+ */
+static inline int afb_daemon_rename_api_v2(const char *name)
+{
+ return afb_get_daemon_v2().itf->rename_api(afb_get_daemon_v2().closure, name);
+}
+