diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2017-12-21 17:05:34 +0100 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2017-12-21 17:06:20 +0100 |
commit | f07a6f0cf5f77f54d69a57eb291ffa91fa2ef359 (patch) | |
tree | 2cce4eb2ad6970d7a95a5ff8878e16ea1f16e3c7 /signal-composer-binding | |
parent | b77795e5c12be30a1fd2cc14b1b2b8cb83a58f4d (diff) |
Using AppFw CPP capabilities
Generate headers from afb-genskel with CPP options which
generate correctly the header for a CPP project.
Change-Id: Ibb64de25ca510a82bc91ba938fc221d9b820e175
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'signal-composer-binding')
-rw-r--r-- | signal-composer-binding/CMakeLists.txt | 2 | ||||
-rw-r--r-- | signal-composer-binding/signal-composer-apidef.h | 114 | ||||
-rw-r--r-- | signal-composer-binding/signal-composer-binding.hpp | 7 |
3 files changed, 3 insertions, 120 deletions
diff --git a/signal-composer-binding/CMakeLists.txt b/signal-composer-binding/CMakeLists.txt index 612a6af..f47c9f1 100644 --- a/signal-composer-binding/CMakeLists.txt +++ b/signal-composer-binding/CMakeLists.txt @@ -26,7 +26,7 @@ PROJECT_TARGET_ADD(signal-composer) # Binder exposes a unique public entry point SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES PREFIX "afb-" - LABELS "BINDING" + LABELS "BINDINGV2" LINK_FLAGS ${BINDINGS_LINK_FLAG} OUTPUT_NAME ${TARGET_NAME} ) diff --git a/signal-composer-binding/signal-composer-apidef.h b/signal-composer-binding/signal-composer-apidef.h deleted file mode 100644 index 3f10fa5..0000000 --- a/signal-composer-binding/signal-composer-apidef.h +++ /dev/null @@ -1,114 +0,0 @@ - -static const char _afb_description_v2_signal_composer[] = - "{\"openapi\":\"3.0.0\",\"$schema\":\"http://iot.bzh/download/openapi/sch" - "ema-3.0/default-schema.json\",\"info\":{\"description\":\"\",\"title\":\"" - "signals-composer-service\",\"version\":\"4.0\",\"x-binding-c-generator\"" - ":{\"api\":\"signal-composer\",\"version\":2,\"prefix\":\"\",\"postfix\":" - "\"\",\"start\":null,\"onevent\":\"onEvent\",\"preinit\":\"loadConf\",\"i" - "nit\":\"execConf\",\"scope\":\"\",\"private\":false}},\"servers\":[{\"ur" - "l\":\"ws://{host}:{port}/api/monitor\",\"description\":\"Signals compose" - "r API connected to low level AGL services\",\"variables\":{\"host\":{\"d" - "efault\":\"localhost\"},\"port\":{\"default\":\"1234\"}},\"x-afb-events\"" - ":[{\"$ref\":\"#/components/schemas/afb-event\"}]}],\"components\":{\"sch" - "emas\":{\"afb-reply\":{\"$ref\":\"#/components/schemas/afb-reply-v2\"},\"" - "afb-event\":{\"$ref\":\"#/components/schemas/afb-event-v2\"},\"afb-reply" - "-v2\":{\"title\":\"Generic response.\",\"type\":\"object\",\"required\":" - "[\"jtype\",\"request\"],\"properties\":{\"jtype\":{\"type\":\"string\",\"" - "const\":\"afb-reply\"},\"request\":{\"type\":\"object\",\"required\":[\"" - "status\"],\"properties\":{\"status\":{\"type\":\"string\"},\"info\":{\"t" - "ype\":\"string\"},\"token\":{\"type\":\"string\"},\"uuid\":{\"type\":\"s" - "tring\"},\"reqid\":{\"type\":\"string\"}}},\"response\":{\"type\":\"obje" - "ct\"}}},\"afb-event-v2\":{\"type\":\"object\",\"required\":[\"jtype\",\"" - "event\"],\"properties\":{\"jtype\":{\"type\":\"string\",\"const\":\"afb-" - "event\"},\"event\":{\"type\":\"string\"},\"data\":{\"type\":\"object\"}}" - "}},\"x-permissions\":{\"addObjects\":{\"permission\":\"urn:AGL:permissio" - "n::platform:composer:addObjects\"}},\"responses\":{\"200\":{\"descriptio" - "n\":\"A complex object array response\",\"content\":{\"application/json\"" - ":{\"schema\":{\"$ref\":\"#/components/schemas/afb-reply\"}}}}}},\"paths\"" - ":{\"/subscribe\":{\"description\":\"Subscribe to a signal object\",\"par" - "ameters\":[{\"in\":\"query\",\"name\":\"event\",\"required\":false,\"sch" - "ema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"$ref\":\"#/compo" - "nents/responses/200\"}}},\"/unsubscribe\":{\"description\":\"Unsubscribe" - " previously suscribed signal objects.\",\"parameters\":[{\"in\":\"query\"" - ",\"name\":\"event\",\"required\":false,\"schema\":{\"type\":\"string\"}}" - "],\"responses\":{\"200\":{\"$ref\":\"#/components/responses/200\"}}},\"/" - "get\":{\"description\":\"Get informations about a resource or element\"," - "\"responses\":{\"200\":{\"$ref\":\"#/components/responses/200\"}}},\"/li" - "st\":{\"description\":\"List all signals already configured\",\"response" - "s\":{\"200\":{\"$ref\":\"#/components/responses/200\"}}},\"/addObjects\"" - ":{\"description\":\"Load new objects from an additional config file desi" - "gnated by JSON argument with the key 'file'.\",\"get\":{\"x-permissions\"" - ":{\"$ref\":\"#/components/x-permissions/addObjects\"},\"responses\":{\"2" - "00\":{\"$ref\":\"#/components/responses/200\"}}},\"parameters\":[{\"in\"" - ":\"query\",\"name\":\"path\",\"required\":true,\"schema\":{\"type\":\"st" - "ring\"}}]}}}" -; -#ifdef __cplusplus -#include <afb/afb-binding> -#endif -static const struct afb_auth _afb_auths_v2_signal_composer[] = { - afb::auth_permission("urn:AGL:permission::platform:composer:addObjects") -}; - - void subscribe(struct afb_req req); - void unsubscribe(struct afb_req req); - void get(struct afb_req req); - void list(struct afb_req req); - void addObjects(struct afb_req req); - -static const struct afb_verb_v2 _afb_verbs_v2_signal_composer[] = { - { - .verb = "subscribe", - .callback = subscribe, - .auth = NULL, - .info = "Subscribe to a signal object", - .session = AFB_SESSION_NONE_V2 - }, - { - .verb = "unsubscribe", - .callback = unsubscribe, - .auth = NULL, - .info = "Unsubscribe previously suscribed signal objects.", - .session = AFB_SESSION_NONE_V2 - }, - { - .verb = "get", - .callback = get, - .auth = NULL, - .info = "Get informations about a resource or element", - .session = AFB_SESSION_NONE_V2 - }, - { - .verb = "list", - .callback = list, - .auth = NULL, - .info = "List all signals already configured", - .session = AFB_SESSION_NONE_V2 - }, - { - .verb = "addObjects", - .callback = addObjects, - .auth = &_afb_auths_v2_signal_composer[0], - .info = "Load new objects from an additional config file designated by JSON argument with the key 'file'.", - .session = AFB_SESSION_NONE_V2 - }, - { - .verb = NULL, - .callback = NULL, - .auth = NULL, - .info = NULL, - .session = 0 - } -}; - -const struct afb_binding_v2 afbBindingV2 = { - .api = "signal-composer", - .specification = _afb_description_v2_signal_composer, - .info = "", - .verbs = _afb_verbs_v2_signal_composer, - .preinit = loadConf, - .init = execConf, - .onevent = onEvent, - .noconcurrency = 0 -}; - diff --git a/signal-composer-binding/signal-composer-binding.hpp b/signal-composer-binding/signal-composer-binding.hpp index 8599a13..24943ca 100644 --- a/signal-composer-binding/signal-composer-binding.hpp +++ b/signal-composer-binding/signal-composer-binding.hpp @@ -1,10 +1,7 @@ #pragma once -extern "C" -{ - #define AFB_BINDING_VERSION 2 - #include <afb/afb-binding.h> -} +#define AFB_BINDING_VERSION 2 +#include <afb/afb-binding> void onEvent(const char *event, struct json_object *object); int loadConf(); |