diff options
-rw-r--r-- | .gitignore | 1 | ||||
m--------- | conf.d/app-templates | 0 | ||||
-rw-r--r-- | conf.d/cmake/config.cmake | 2 | ||||
-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 |
6 files changed, 5 insertions, 121 deletions
@@ -20,3 +20,4 @@ GRTAGS GTAGS 3rdparty/lua/ xds-project.conf +signal-composer-binding/signal-composer-apidef.h diff --git a/conf.d/app-templates b/conf.d/app-templates -Subproject ee5d60f9d169d959cca9dc24cfc3776ed06c163 +Subproject bb3c5413dd0e2ff098a99748a53be1c66186f23 diff --git a/conf.d/cmake/config.cmake b/conf.d/cmake/config.cmake index de49bb0..af0a4da 100644 --- a/conf.d/cmake/config.cmake +++ b/conf.d/cmake/config.cmake @@ -27,7 +27,7 @@ set(PROJECT_ICON "icon.png") set(PROJECT_AUTHOR "Forlot Romain") set(PROJECT_AUTHOR_MAIL "romain.forlot@iot.bzh") set(PROJECT_LICENSE "APL2.0") -set(PROJECT_LANGUAGES,"C") +set(PROJECT_LANGUAGES "CXX") # Where are stored default templates files from submodule or subtree app-templates in your project tree # relative to the root project directory 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(); |