From ddb43e0c12722db65ebf6362e79ec89130769662 Mon Sep 17 00:00:00 2001 From: Fulup Ar Foll Date: Mon, 21 Aug 2017 14:57:04 +0200 Subject: Fix Controller API --- Controller-afb/ctl-apidef.h | 48 ++++----- Controller-afb/ctl-apidef.json | 6 +- Controller-afb/ctl-lua.c | 16 +-- conf.d/project/alsa.d/asoundrc.sample | 2 +- conf.d/project/lua.d/doscript-helloworld.lua | 2 +- htdocs/audio-control.html | 8 +- nbproject/configurations.xml | 141 +++++++++++++++------------ 7 files changed, 123 insertions(+), 100 deletions(-) diff --git a/Controller-afb/ctl-apidef.h b/Controller-afb/ctl-apidef.h index 68f9725..100fc79 100644 --- a/Controller-afb/ctl-apidef.h +++ b/Controller-afb/ctl-apidef.h @@ -36,21 +36,21 @@ static const char _afb_description_v2_control[] = "missions\":{\"$ref\":\"#/components/x-permissions/navigation\"},\"parame" "ters\":[{\"in\":\"query\",\"name\":\"zone\",\"required\":false,\"schema\"" ":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"$ref\":\"#/components" - "/responses/200\"}}}},\"/lua_docall\":{\"description\":\"Execute LUA stri" - "ng script.\",\"get\":{\"x-permissions\":{\"$ref\":\"#/components/x-permi" - "ssions/navigation\"},\"parameters\":[{\"in\":\"query\",\"name\":\"func\"" - ",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"in\":\"query\",\"" - "name\":\"args\",\"required\":false,\"schema\":{\"type\":\"array\"}}],\"r" - "esponses\":{\"200\":{\"$ref\":\"#/components/responses/200\"}}}},\"/lua_" - "dostring\":{\"description\":\"Execute LUA string script.\",\"get\":{\"x-" - "permissions\":{\"$ref\":\"#/components/x-permissions/navigation\"},\"par" - "ameters\":[{\"in\":\"query\",\"required\":true,\"schema\":{\"type\":\"st" - "ring\"}}],\"responses\":{\"200\":{\"$ref\":\"#/components/responses/200\"" - "}}}},\"/lua_doscript\":{\"description\":\"Execute LUA string script.\",\"" - "get\":{\"x-permissions\":{\"$ref\":\"#/components/x-permissions/navigati" - "on\"},\"parameters\":[{\"in\":\"query\",\"name\":\"filename\",\"required" - "\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"$re" - "f\":\"#/components/responses/200\"}}}}}}" + "/responses/200\"}}}},\"/request\":{\"description\":\"Execute LUA string " + "script.\",\"get\":{\"x-permissions\":{\"$ref\":\"#/components/x-permissi" + "ons/navigation\"},\"parameters\":[{\"in\":\"query\",\"name\":\"func\",\"" + "required\":true,\"schema\":{\"type\":\"string\"}},{\"in\":\"query\",\"na" + "me\":\"args\",\"required\":false,\"schema\":{\"type\":\"array\"}}],\"res" + "ponses\":{\"200\":{\"$ref\":\"#/components/responses/200\"}}}},\"/execlu" + "a\":{\"description\":\"Execute LUA string script.\",\"get\":{\"x-permiss" + "ions\":{\"$ref\":\"#/components/x-permissions/navigation\"},\"parameters" + "\":[{\"in\":\"query\",\"required\":true,\"schema\":{\"type\":\"string\"}" + "}],\"responses\":{\"200\":{\"$ref\":\"#/components/responses/200\"}}}},\"" + "/scriptlua\":{\"description\":\"Execute LUA string script.\",\"get\":{\"" + "x-permissions\":{\"$ref\":\"#/components/x-permissions/navigation\"},\"p" + "arameters\":[{\"in\":\"query\",\"name\":\"filename\",\"required\":true,\"" + "schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"$ref\":\"#/co" + "mponents/responses/200\"}}}}}}" ; static const struct afb_auth _afb_auths_v2_control[] = { @@ -59,9 +59,9 @@ static const struct afb_auth _afb_auths_v2_control[] = { void ctlapi_monitor(struct afb_req req); void ctlapi_dispatch(struct afb_req req); - void ctlapi_lua_docall(struct afb_req req); - void ctlapi_lua_dostring(struct afb_req req); - void ctlapi_lua_doscript(struct afb_req req); + void ctlapi_request(struct afb_req req); + void ctlapi_execlua(struct afb_req req); + void ctlapi_scriptlua(struct afb_req req); static const struct afb_verb_v2 _afb_verbs_v2_control[] = { { @@ -79,22 +79,22 @@ static const struct afb_verb_v2 _afb_verbs_v2_control[] = { .session = AFB_SESSION_NONE_V2 }, { - .verb = "lua_docall", - .callback = ctlapi_lua_docall, + .verb = "request", + .callback = ctlapi_request, .auth = &_afb_auths_v2_control[0], .info = NULL, .session = AFB_SESSION_NONE_V2 }, { - .verb = "lua_dostring", - .callback = ctlapi_lua_dostring, + .verb = "execlua", + .callback = ctlapi_execlua, .auth = &_afb_auths_v2_control[0], .info = NULL, .session = AFB_SESSION_NONE_V2 }, { - .verb = "lua_doscript", - .callback = ctlapi_lua_doscript, + .verb = "scriptlua", + .callback = ctlapi_scriptlua, .auth = &_afb_auths_v2_control[0], .info = NULL, .session = AFB_SESSION_NONE_V2 diff --git a/Controller-afb/ctl-apidef.json b/Controller-afb/ctl-apidef.json index c35cbc0..f292eec 100644 --- a/Controller-afb/ctl-apidef.json +++ b/Controller-afb/ctl-apidef.json @@ -170,7 +170,7 @@ } } }, - "/lua_docall": { + "/request": { "description": "Execute LUA string script.", "get": { "x-permissions": { @@ -201,7 +201,7 @@ } } }, - "/lua_dostring": { + "/execlua": { "description": "Execute LUA string script.", "get": { "x-permissions": { @@ -223,7 +223,7 @@ } } }, - "/lua_doscript": { + "/scriptlua": { "description": "Execute LUA string script.", "get": { "x-permissions": { diff --git a/Controller-afb/ctl-lua.c b/Controller-afb/ctl-lua.c index 3f45055..01cf1b9 100644 --- a/Controller-afb/ctl-lua.c +++ b/Controller-afb/ctl-lua.c @@ -673,7 +673,7 @@ STATIC void LuaDoAction (LuaDoActionT action, afb_req request) { const char *func; json_object *argsJ=NULL; - err= wrap_json_unpack (queryJ, "{s:s, s?o !}", "func", &func, "args", &argsJ); + err= wrap_json_unpack (queryJ, "{s:s, s?o !}", "request", &func, "args", &argsJ); if (err) { AFB_ERROR ("LUA-DOCALL-SYNTAX missing func|args query=%s", json_object_get_string(queryJ)); goto OnErrorExit; @@ -708,7 +708,7 @@ STATIC void LuaDoAction (LuaDoActionT action, afb_req request) { // scan luascript search path once static json_object *luaScriptPathJ =NULL; - err= wrap_json_unpack (queryJ, "{s:s, s?s s?o !}", "script", &script,"func", &func, "args", &argsJ); + err= wrap_json_unpack (queryJ, "{s:s, s?s s?o !}", "target", &script,"function", &func, "args", &argsJ); if (err) { AFB_ERROR ("LUA-DOSCRIPT-SYNTAX:missing script|(args,arg) query=%s", json_object_get_string(queryJ)); goto OnErrorExit; @@ -747,7 +747,11 @@ STATIC void LuaDoAction (LuaDoActionT action, afb_req request) { } // if no func name given try to deduct from filename - if (!func) func= (char*)GetMidleName(filename); + if (!func && (func=(char*)GetMidleName(filename))!=NULL) { + strncpy(luaScriptPath,"_", sizeof(luaScriptPath)); + strncat(luaScriptPath,func, sizeof(luaScriptPath)); + func=luaScriptPath; + } if (!func) { AFB_ERROR ("LUA-DOSCRIPT:FAIL to deduct funcname from %s", filename); goto OnErrorExit; @@ -789,15 +793,15 @@ STATIC void LuaDoAction (LuaDoActionT action, afb_req request) { return; } -PUBLIC void ctlapi_lua_dostring (afb_req request) { +PUBLIC void ctlapi_execlua (afb_req request) { LuaDoAction (LUA_DOSTRING, request); } -PUBLIC void ctlapi_lua_docall (afb_req request) { +PUBLIC void ctlapi_request (afb_req request) { LuaDoAction (LUA_DOCALL, request); } -PUBLIC void ctlapi_lua_doscript (afb_req request) { +PUBLIC void ctlapi_scriptlua (afb_req request) { LuaDoAction (LUA_DOSCRIPT, request); } diff --git a/conf.d/project/alsa.d/asoundrc.sample b/conf.d/project/alsa.d/asoundrc.sample index b208a09..4ea04dc 100644 --- a/conf.d/project/alsa.d/asoundrc.sample +++ b/conf.d/project/alsa.d/asoundrc.sample @@ -62,7 +62,7 @@ pcm.MyNavigationHook { verbose true # print few log messages (default false); # Every Call should return OK in order PCM to open (default timeout 100ms) - uri "ws://localhost:1234/api?token='audio-agent-token'" + uri "ws://localhost:1234/api?token=audio-agent-token&uuid=audio-agent-session" request { # Request autorisation to write on navigation RequestNavigation { diff --git a/conf.d/project/lua.d/doscript-helloworld.lua b/conf.d/project/lua.d/doscript-helloworld.lua index a06c3db..7a41971 100644 --- a/conf.d/project/lua.d/doscript-helloworld.lua +++ b/conf.d/project/lua.d/doscript-helloworld.lua @@ -21,7 +21,7 @@ --]] -local function helloworld (request, query) +function _helloworld (request, query) AFB:notice ("LUA HelloWorld: Simple test query=%s", query); diff --git a/htdocs/audio-control.html b/htdocs/audio-control.html index 6b7872f..fe1120b 100644 --- a/htdocs/audio-control.html +++ b/htdocs/audio-control.html @@ -30,10 +30,10 @@

  • -
  • -
  • -
  • -
  • +
  • +
  • +
  • +
  • diff --git a/nbproject/configurations.xml b/nbproject/configurations.xml index cf14956..86c4ff0 100644 --- a/nbproject/configurations.xml +++ b/nbproject/configurations.xml @@ -49,7 +49,6 @@ ctl-lua.c ctl-misc.c ctl-plugin-sample.c - ctl-policy.c ctl-timer.c @@ -119,10 +118,11 @@ false - - - - + + + + @@ -134,7 +134,7 @@ ${MAKE} -f Makefile install ${MAKE} -f Makefile clean build/CMakeFiles/feature_tests.bin - + @@ -147,11 +147,11 @@ ex="false" tool="0" flavor2="3"> - + - + ../../../opt/include/alsa /usr/include/json-c @@ -162,14 +162,14 @@ - + build/Alsa-afb - + ../../../opt/include/alsa /usr/include/json-c @@ -180,7 +180,7 @@ - + ../../../opt/include/alsa /usr/include/json-c @@ -191,7 +191,7 @@ - + ../../../opt/include/alsa /usr/include/json-c @@ -202,7 +202,7 @@ - + ../../../opt/include/afb Audio-Common @@ -212,7 +212,7 @@ - + ../../../opt/include/afb Audio-Common @@ -222,7 +222,7 @@ - + Audio-Common /usr/include/json-c @@ -231,19 +231,23 @@ - + - + + ../../../opt/include/afb + Controller-afb build/Controller-afb - + + ../../../opt/include/afb + Controller-afb /usr/include/json-c /usr/include/lua5.3 Audio-Common @@ -253,27 +257,51 @@ - + + ../../../opt/include + ../../../opt/include/alsa + /usr/include/p11-kit-1 /usr/include/json-c /usr/include/lua5.3 Audio-Common - ../../../opt/include build/Controller-afb + + CONTROL_CONFIG_PATH="/home/fulup/Workspace/AGL-AppFW/audio-bindings-dev/conf.d/project/config.d:/home/fulup/opt/controller/config.d" + CONTROL_CONFIG_POST="control" + CONTROL_CONFIG_PRE="onload" + CONTROL_DOSCRIPT_PRE="doscript" + CONTROL_LUA_EVENT="luaevt" + CONTROL_LUA_PATH="/home/fulup/Workspace/AGL-AppFW/audio-bindings-dev/conf.d/project/lua.d:/home/fulup/opt/controller-plugins/ctl-lua.d" + CONTROL_MAXPATH_LEN=255 + CONTROL_ONLOAD_PROFILE="onload-default-profile" + CONTROL_PLUGIN_PATH="/home/fulup/Workspace/AGL-AppFW/audio-bindings-dev/build:/home/fulup/opt/controller-plugins:/usr/lib/afb/controller-plugins/ctlplug" + CONTROL_SUPPORT_LUA + CTL_PLUGIN_MAGIC=2468013579 + MAX_LINEAR_DB_SCALE=24 + MAX_SND_CARD=16 + NATIVE_LINUX + TLV_BYTE_SIZE=256 + control_afb_EXPORTS + - + + ../../../opt/include/afb + Controller-afb /usr/include/json-c build/Controller-afb - + + ../../../opt/include/afb + Controller-afb /usr/include/json-c /usr/include/lua5.3 build/Controller-afb @@ -281,8 +309,10 @@ - + + ../../../opt/include/afb + Controller-afb ../../../opt/include build/Controller-afb @@ -292,10 +322,9 @@ ex="false" tool="0" flavor2="3"> - + Audio-Common - ../../../opt/include build/HAL-afb/HAL-interface @@ -304,7 +333,7 @@ ex="false" tool="0" flavor2="3"> - + Audio-Common build/HAL-afb/HAL-interface @@ -312,36 +341,36 @@ - + build/HAL-afb/HAL-interface - + - + - + - + - + Shared-Interface HAL-afb/HAL-interface @@ -350,7 +379,7 @@ - + HAL-afb/HAL-interface build/HAL-afb/Unicens-USB @@ -358,11 +387,11 @@ - + - + @@ -410,17 +439,7 @@ build/Alsa-Plugin/Alsa-Policy-Hook - CONTROL_CONFIG_PATH="/home/fulup/Workspace/AGL-AppFW/audio-bindings-dev/conf.d/project/config.d:/usr/local/controller/config.d" - CONTROL_CONFIG_POST="control" - CONTROL_CONFIG_PRE="onload" - CONTROL_DOSCRIPT_PRE="doscript" - CONTROL_LUA_EVENT="luaevt" - CONTROL_LUA_PATH="/home/fulup/Workspace/AGL-AppFW/audio-bindings-dev/conf.d/project/lua.d:/usr/local/controller/ctl-lua.d" CONTROL_MAXPATH_LEN=255 - CONTROL_ONLOAD_DEFAULT="onload-default" - CONTROL_PLUGIN_PATH="/home/fulup/Workspace/AGL-AppFW/audio-bindings-dev/build:/home/fulup/opt/audio-bindings/ctlplug:/usr/lib/afb/ctlplug" - CONTROL_SUPPORT_LUA - CTL_PLUGIN_MAGIC=2468013579 MAX_LINEAR_DB_SCALE=24 MAX_SND_CARD=16 NATIVE_LINUX @@ -472,14 +491,6 @@ - - - - ../../../opt/include/afb - Controller-afb - - - @@ -490,15 +501,7 @@ /usr/include/lua5.3 - CONTROL_CONFIG_PATH="/home/fulup/Workspace/AGL-AppFW/audio-bindings-dev/conf.d/project/config.d:/usr/local/controller/config.d" - CONTROL_CONFIG_POST="control" - CONTROL_CONFIG_PRE="onload" - CONTROL_LUA_EVENT="luaevt" - CONTROL_LUA_PATH="/home/fulup/Workspace/AGL-AppFW/audio-bindings-dev/conf.d/project/lua.d:/usr/local/controller/ctl-lua.d" CONTROL_MAXPATH_LEN=255 - CONTROL_ONLOAD_DEFAULT="onload-default" - CONTROL_PLUGIN_PATH="/home/fulup/Workspace/AGL-AppFW/audio-bindings-dev/build:/home/fulup/opt/audio-bindings/ctlplug:/usr/lib/afb/ctlplug" - CTL_PLUGIN_MAGIC=2468013579 MAX_LINEAR_DB_SCALE=24 MAX_SND_CARD=16 TLV_BYTE_SIZE=256 @@ -525,6 +528,14 @@ CONTROL_CDEV_RX="/dev/inic-usb-crx" CONTROL_CDEV_TX="/dev/inic-usb-ctx" + CONTROL_CONFIG_PATH="/home/fulup/Workspace/AGL-AppFW/audio-bindings-dev/conf.d/project/config.d:/usr/local/controller/config.d" + CONTROL_CONFIG_POST="control" + CONTROL_CONFIG_PRE="onload" + CONTROL_LUA_EVENT="luaevt" + CONTROL_LUA_PATH="/home/fulup/Workspace/AGL-AppFW/audio-bindings-dev/conf.d/project/lua.d:/usr/local/controller/ctl-lua.d" + CONTROL_ONLOAD_DEFAULT="onload-default" + CONTROL_PLUGIN_PATH="/home/fulup/Workspace/AGL-AppFW/audio-bindings-dev/build:/home/fulup/opt/audio-bindings/ctlplug:/usr/lib/afb/ctlplug" + CTL_PLUGIN_MAGIC=2468013579 audio_plugin_sample_EXPORTS control_afb_EXPORTS @@ -575,6 +586,14 @@ CONTROL_CDEV_RX="/dev/inic-usb-crx" CONTROL_CDEV_TX="/dev/inic-usb-ctx" + CONTROL_CONFIG_PATH="/home/fulup/Workspace/AGL-AppFW/audio-bindings-dev/conf.d/project/config.d:/usr/local/controller/config.d" + CONTROL_CONFIG_POST="control" + CONTROL_CONFIG_PRE="onload" + CONTROL_LUA_EVENT="luaevt" + CONTROL_LUA_PATH="/home/fulup/Workspace/AGL-AppFW/audio-bindings-dev/conf.d/project/lua.d:/usr/local/controller/ctl-lua.d" + CONTROL_ONLOAD_DEFAULT="onload-default" + CONTROL_PLUGIN_PATH="/home/fulup/Workspace/AGL-AppFW/audio-bindings-dev/build:/home/fulup/opt/audio-bindings/ctlplug:/usr/lib/afb/ctlplug" + CTL_PLUGIN_MAGIC=2468013579 audio_plugin_sample_EXPORTS control_afb_EXPORTS -- cgit 1.2.3-korg