From 550b36945f2e9eae1fc4b822ea9a00a2a866eb83 Mon Sep 17 00:00:00 2001 From: José Bollo Date: Mon, 4 Sep 2017 18:17:55 +0200 Subject: Allow renaming of API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The function afb_daemon_rename_api allows to rename an API during the preinit phase. Change-Id: I35477ba99d35b1dc51a7cacf8e55c3f02d86d7b4 Signed-off-by: José Bollo --- include/afb/afb-binding.h | 2 ++ include/afb/afb-daemon-common.h | 1 + include/afb/afb-daemon-v1.h | 11 +++++++++++ include/afb/afb-daemon-v2.h | 11 +++++++++++ 4 files changed, 25 insertions(+) (limited to 'include/afb') 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); +} + -- cgit 1.2.3-korg