diff options
author | fulup <fulup.arfoll@iot.bzh> | 2017-08-13 16:50:34 +0200 |
---|---|---|
committer | fulup <fulup.arfoll@iot.bzh> | 2017-08-13 17:31:30 +0200 |
commit | 9777a02c7540fdec145feb948b4bbf1cd44c3352 (patch) | |
tree | 85f64445ef292938839092696c449d1b7c63216e /conf.d | |
parent | b65178642727536972d0c04e53b2310be58beb2e (diff) |
Fix AFB_MESSAGE with null arguments
Diffstat (limited to 'conf.d')
-rw-r--r-- | conf.d/CMakeLists.txt | 10 | ||||
-rw-r--r-- | conf.d/cmake/config.cmake | 16 | ||||
-rw-r--r-- | conf.d/ctl-rules/onload-control-policy.json | 108 | ||||
-rw-r--r-- | conf.d/project/CMakeLists.txt | 24 | ||||
-rw-r--r-- | conf.d/project/config.d/CMakeLists.txt (renamed from conf.d/ctl-rules/CMakeLists.txt) | 8 | ||||
-rw-r--r-- | conf.d/project/config.d/onload-audio-control.json | 116 | ||||
-rw-r--r-- | conf.d/project/lua.d/CMakeLists.txt | 40 | ||||
-rw-r--r-- | conf.d/project/lua.d/helloworld-lua-script.lua (renamed from conf.d/ctl-rules/helloworld-lua-script.lua) | 0 | ||||
-rw-r--r-- | conf.d/project/lua.d/onload-audio-policy.lua | 49 | ||||
-rw-r--r-- | conf.d/project/lua.d/onload-audio-samples.lua (renamed from conf.d/ctl-rules/onload-control-script.lua) | 27 |
10 files changed, 255 insertions, 143 deletions
diff --git a/conf.d/CMakeLists.txt b/conf.d/CMakeLists.txt index 413fe8e..28a0609 100644 --- a/conf.d/CMakeLists.txt +++ b/conf.d/CMakeLists.txt @@ -17,10 +17,6 @@ ########################################################################### - -# Define subproject targets -ADD_SUBDIRECTORY(ctl-rules) - - - - +# Include any directory not starting with _ +# ----------------------------------------------------- +PROJECT_SUBDIRS_ADD(${PROJECT_SRC_DIR_PATTERN}) diff --git a/conf.d/cmake/config.cmake b/conf.d/cmake/config.cmake index e70fb62..510eb70 100644 --- a/conf.d/cmake/config.cmake +++ b/conf.d/cmake/config.cmake @@ -67,17 +67,19 @@ set (PKG_REQUIRED_LIST # Define CONTROL_CDEV_NAME should match MOST driver values # --------------------------------------------------------- + add_compile_options(-DCONTROL_ONLOAD_DEFAULT="onload-default") add_compile_options(-DCONTROL_MAXPATH_LEN=255) - add_compile_options(-DCONTROL_CONFIG_FILE="onload-control-policy.json") - add_compile_options(-DCONTROL_CONFIG_PATH="${CMAKE_SOURCE_DIR}/conf.d:${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}/config") - - add_compile_options(-DCONTROL_LUA_PATH="${CMAKE_SOURCE_DIR}/conf.d:/etc/default/${PROJECT_NAME}/lua:${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}/lua") + add_compile_options(-DCONTROL_CONFIG_PRE="onload") + add_compile_options(-DCONTROL_CONFIG_POST="control" ) + add_compile_options(-DCONTROL_CONFIG_PATH="${CMAKE_SOURCE_DIR}/conf.d/project/config.d:${CMAKE_INSTALL_PREFIX}/controler/config.d") + add_compile_options(-DCONTROL_LUA_EVENT="luaevt") + add_compile_options(-DCONTROL_LUA_PATH="${CMAKE_SOURCE_DIR}/conf.d/project/lua.d:${CMAKE_INSTALL_PREFIX}/controler/ctl-lua.d") - set (CTL_PLUGIN_PRE "audio-") - set (CTL_PLUGIN_EXT ".ctlso") + set (CTL_PLUGIN_PRE "ctl-" cache "Prefix for Controler share plugin") + set (CTL_PLUGIN_EXT ".ctlso" cache "Postfix for Controler share plugin") add_compile_options(-DCTL_PLUGIN_MAGIC=2468013579) - add_compile_options(-DCONTROL_PLUGIN_PATH="${BINDINGS_INSTALL_DIR}/controler:/usr/lib/${PROJECT_NAME}") + add_compile_options(-DCONTROL_PLUGIN_PATH="${CMAKE_BINARY_DIR}:${BINDINGS_INSTALL_DIR}/ctlplug:/usr/lib/afb/ctlplug") # Print a helper message when every thing is finished # ---------------------------------------------------- diff --git a/conf.d/ctl-rules/onload-control-policy.json b/conf.d/ctl-rules/onload-control-policy.json deleted file mode 100644 index b5d4503..0000000 --- a/conf.d/ctl-rules/onload-control-policy.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "$schema": "ToBeDone", - "metadata": { - "label": "sample-audio-control", - "info": "Provide Default Audio Policy for Multimedia, Navigation and Emergency", - "version": "1.0" - }, - "onload": { - "label": "onload-config", - "info": "onload initialisation config", - "plugin": "audio-ctl-plugin-sample.ctlso", - "actions": [ - { - "label": "onload-sample-cb", - "info": "Call control sharelib install entrypoint", - "callback": "SamplePolicyInit", - "args": { - "arg1": "first_arg", - "nextarg": "second arg value" - } - }, { - "label": "onload-sample-api", - "info": "Assert AlsaCore Presence", - "api": "alsacore", - "verb": "ping", - "args": "test" - }, { - "label": "onload-sample-lua", - "info": "Assert LUA Engine", - "lua": "Test_Lua_Engine", - "args": "ping" - } - ] - }, - "controls": - [ - { - "label": "multimedia", - "actions": [ - { - "label": "multimedia-control-cb", - "info": "Call Sharelib Sample Callback", - "callback": "sampleControlMultimedia", - "args": { - "arg1": "snoopy", - "arg2": "toto" - } - }, { - "label": "multimedia-control-ucm", - "info": "Subcall AlSA UCM navigation", - "api": "alsacore", - "verb": "ping", - "args": { - "select": "multimedia" - } - }] - }, { - "label": "navigation", - "actions": [ { - "label": "multimedia-control-cb", - "info": "Call Sharelib Sample Callback", - "callback": "sampleControlNavigation", - "args": { - "arg1": "snoopy", - "arg2": "toto" - } - }, { - "label": "navigation-control-ucm", - "api": "alsacore", - "verb": "ping", - "args": { - "select": "navigation" - } - }] - }, { - "label": "emergency", - "actions": [{ - "label": "emergency-control-ucm", - "api": "alsacore", - "verb": "ping", - "args": { - "select": "emergency" - } - }] - } - ], - "events": - { - "label": "SampleEvent", - "info": "define action when receiving a given event", - "actions": [ - { - "label": "Event Callback-1", - "callback": "SampleControlEvent", - "args": { - "arg": "action-1" - } - }, { - "label": "Event Callback-2", - "callback": "SampleControlEvent", - "args": { - "arg": "action-2" - } - } - ] - } -} - diff --git a/conf.d/project/CMakeLists.txt b/conf.d/project/CMakeLists.txt new file mode 100644 index 0000000..fd4d454 --- /dev/null +++ b/conf.d/project/CMakeLists.txt @@ -0,0 +1,24 @@ +########################################################################### +# Copyright 2015, 2016, 2017 IoT.bzh +# +# author: Fulup Ar Foll <fulup@iot.bzh> +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################### + + + +# Include anything not starting with _ +PROJECT_SUBDIRS_ADD(${PROJECT_SRC_DIR_PATTERN}) + + diff --git a/conf.d/ctl-rules/CMakeLists.txt b/conf.d/project/config.d/CMakeLists.txt index 51a3a46..229cf2d 100644 --- a/conf.d/ctl-rules/CMakeLists.txt +++ b/conf.d/project/config.d/CMakeLists.txt @@ -20,9 +20,9 @@ ################################################## # Control Policy Config file ################################################## -PROJECT_TARGET_ADD(control-rules) +PROJECT_TARGET_ADD(ctl-config.d) - file(GLOB XML_FILES "*.json" "*.lua") + file(GLOB XML_FILES "*.json") add_custom_target(${TARGET_NAME} DEPENDS ${PROJECT_PKG_BUILD_DIR}/${TARGET_NAME} @@ -38,7 +38,3 @@ PROJECT_TARGET_ADD(control-rules) COMMAND cp -r ${XML_FILES} ${PROJECT_PKG_BUILD_DIR}/${TARGET_NAME} ) - SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES - LABELS "DATA" - OUTPUT_NAME ${TARGET_NAME} - ) diff --git a/conf.d/project/config.d/onload-audio-control.json b/conf.d/project/config.d/onload-audio-control.json new file mode 100644 index 0000000..aecf1b3 --- /dev/null +++ b/conf.d/project/config.d/onload-audio-control.json @@ -0,0 +1,116 @@ +{ + "$schema": "ToBeDone", + "metadata": { + "label": "sample-audio-control", + "info": "Provide Default Audio Policy for Multimedia, Navigation and Emergency", + "version": "1.0" + }, + "onload": [{ + "label": "onload-default", + "info": "onload initialisation config", + "plugin": "ctl-audio-plugin-sample.ctlso", + "require": ["intel-hda", "jabra-usb", "scarlett-usb"], + "actions": [ + { + "label": "onload-sample-cb", + "info": "Call control sharelib install entrypoint", + "callback": "SamplePolicyInit", + "args": { + "arg1": "first_arg", + "nextarg": "second arg value" + } + }, { + "label": "onload-sample-api", + "info": "Assert AlsaCore Presence", + "api": "alsacore", + "verb": "ping", + "args": "test" + }, { + "label": "onload-hal-lua", + "info": "Load avaliable HALs", + "lua": "Audio_Init_Hal" + } + ] + }], + "controls": + [ + { + "label": "multimedia", + "actions": [{ + "label": "multimedia-control-lua", + "info": "Call Lua Script function Test_Lua_Engin", + "lua": "Audio_Set_Use_Case_Multimedia", + }] + }, { + "label": "navigation", + "actions": [{ + "label": "multimedia-control-cb", + "info": "Call Sharelib Sample Callback", + "callback": "sampleControlNavigation", + "args": { + "arg1": "snoopy", + "arg2": "toto" + } + }, { + "label": "navigation-control-ucm", + "api": "alsacore", + "verb": "ping", + "args": { + "test": "navigation" + } + }, { + "label": "navigation-control-lua", + "info": "Call Lua Script to set Navigation", + "lua": "Audio_Set_Use_Case_Navigation", + }] + }, { + "label": "emergency", + "actions": [{ + "label": "emergency-control-ucm", + "lua": "Audio_Set_Use_Case_Emergency", + }] + } + ], + "events": + [ + { + "label": "SampleEvent1", + "info": "define action when receiving a given event", + "actions": [ + { + "label": "Event Callback-1", + "callback": "SampleControlEvent", + "args": { + "arg": "action-1" + } + }, { + "label": "Event Callback-2", + "callback": "SampleControlEvent", + "args": { + "arg": "action-2" + } + } + ] + }, + { + "label": "SampleEvent2", + "info": "define action when receiving a given event", + "actions": [ + { + "label": "Event Callback-1", + "callback": "SampleControlEvent", + "args": { + "arg": "action-1" + } + }, { + "label": "Event Callback-2", + "callback": "SampleControlEvent", + "args": { + "arg": "action-2" + } + } + ] + } + ] +} + diff --git a/conf.d/project/lua.d/CMakeLists.txt b/conf.d/project/lua.d/CMakeLists.txt new file mode 100644 index 0000000..db54742 --- /dev/null +++ b/conf.d/project/lua.d/CMakeLists.txt @@ -0,0 +1,40 @@ +########################################################################### +# Copyright 2017 IoT.bzh +# +# author: Fulup Ar Foll <fulup@iot.bzh> +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################### + + +################################################## +# Control Policy Config file +################################################## +PROJECT_TARGET_ADD(ctl-lua.d) + + file(GLOB XML_FILES "*.lua") + + add_custom_target(${TARGET_NAME} + DEPENDS ${PROJECT_PKG_BUILD_DIR}/${TARGET_NAME} + ) + + # check XML schema before pushing config + add_custom_command( + DEPENDS ${XML_FILES} + OUTPUT ${PROJECT_PKG_BUILD_DIR}/${TARGET_NAME} + # COMMAND xmllint -schema ${XML_SCHEMA} ${XML_FILES} --noout (Fulup we miss this for JSON) + COMMAND mkdir -p ${PROJECT_PKG_BUILD_DIR}/${TARGET_NAME} + COMMAND touch ${PROJECT_PKG_BUILD_DIR}/${TARGET_NAME} + COMMAND cp -r ${XML_FILES} ${PROJECT_PKG_BUILD_DIR}/${TARGET_NAME} + ) + diff --git a/conf.d/ctl-rules/helloworld-lua-script.lua b/conf.d/project/lua.d/helloworld-lua-script.lua index 7dd0459..7dd0459 100644 --- a/conf.d/ctl-rules/helloworld-lua-script.lua +++ b/conf.d/project/lua.d/helloworld-lua-script.lua diff --git a/conf.d/project/lua.d/onload-audio-policy.lua b/conf.d/project/lua.d/onload-audio-policy.lua new file mode 100644 index 0000000..0b7c358 --- /dev/null +++ b/conf.d/project/lua.d/onload-audio-policy.lua @@ -0,0 +1,49 @@ +--[[ + Copyright (C) 2016 "IoT.bzh" + Author Fulup Ar Foll <fulup@iot.bzh> + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + Provide sample policy function for AGL Advance Audio Agent +--]] + +function Audio_Init_CB (status, result, context) + print ("***** result=", Dump_Table(result)) + print ("***** context=", Dump_Table(context)) + + -- AFB:notice ("--LUA:Audio_Init_Hal result=%s context=%s", result, context) + +end + +-- Function call at binding load time +function Audio_Init_Hal(args, query) + AFB:notice ("--LUA:Audio_Init_Hal args=%s query=%s", args, query); + + -- query asynchronously loaded HAL + AFB:service ('alsacore', 'hallist', {}, "Audio_Init_CB", {arg1=1234, arg2="toto"}) + +end + +function Audio_Set_Navigation(args, query) + + AFB:notice ("--LUA:Audio_Set_Use_Case args=%s query=%s", args, query, {myint=1234, mystring="abcd"}); + -- Print_Table("args", args) + + + + -- return OK + return 0 +end + + diff --git a/conf.d/ctl-rules/onload-control-script.lua b/conf.d/project/lua.d/onload-audio-samples.lua index 6cc85fa..055a15d 100644 --- a/conf.d/ctl-rules/onload-control-script.lua +++ b/conf.d/project/lua.d/onload-audio-samples.lua @@ -78,19 +78,16 @@ function Test_Binder_Call_Sync () end - -function Test_Lua_Engine(request, ...) - - AFB:NOTICE ("In est_Lua_Engine"); - print ("Ping_Test script arguments:"); - - for i,v in ipairs(arg) - do - print(" -- ", tostring(v)) - end - - -- return OK - return 0 +-- return serialised version of printable table +function Dump_Table(o) + if type(o) == 'table' then + local s = '{ ' + for k,v in pairs(o) do + if type(k) ~= 'number' then k = '"'..k..'"' end + s = s .. '['..k..'] = ' .. Dump_Table(v) .. ',' + end + return s .. '} ' + else + return tostring(o) + end end - - |