From c13952824e2cc110b9405e1bc9017801dd938ac0 Mon Sep 17 00:00:00 2001
From: fulup <fulup.arfoll@iot.bzh>
Date: Fri, 11 Aug 2017 08:18:05 +0200
Subject: Update to new Tempate

---
 conf.d/ctl-rules/CMakeLists.txt             | 44 +++++++++++++
 conf.d/ctl-rules/helloworld-lua-script.lua  | 41 ++++++++++++
 conf.d/ctl-rules/onload-control-policy.json | 99 +++++++++++++++++++++++++++++
 conf.d/ctl-rules/onload-control-script.lua  | 95 +++++++++++++++++++++++++++
 4 files changed, 279 insertions(+)
 create mode 100644 conf.d/ctl-rules/CMakeLists.txt
 create mode 100644 conf.d/ctl-rules/helloworld-lua-script.lua
 create mode 100644 conf.d/ctl-rules/onload-control-policy.json
 create mode 100644 conf.d/ctl-rules/onload-control-script.lua

(limited to 'conf.d/ctl-rules')

diff --git a/conf.d/ctl-rules/CMakeLists.txt b/conf.d/ctl-rules/CMakeLists.txt
new file mode 100644
index 0000000..51a3a46
--- /dev/null
+++ b/conf.d/ctl-rules/CMakeLists.txt
@@ -0,0 +1,44 @@
+###########################################################################
+# 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(control-rules)
+
+    file(GLOB XML_FILES "*.json" "*.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}
+    )
+
+    SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
+	LABELS "DATA"
+	OUTPUT_NAME ${TARGET_NAME}
+    )
diff --git a/conf.d/ctl-rules/helloworld-lua-script.lua b/conf.d/ctl-rules/helloworld-lua-script.lua
new file mode 100644
index 0000000..7dd0459
--- /dev/null
+++ b/conf.d/ctl-rules/helloworld-lua-script.lua
@@ -0,0 +1,41 @@
+--[[
+  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.
+  
+ 
+  Simple API script
+--]]
+
+    -- retrieve calling arguments
+    args= ...
+
+    print ("Helloworld script arguments:")
+
+    
+    for key,value in pairs(args) 
+    do 
+      print("args: ", key,value)
+    end
+
+    -- loop on script arguments
+    --for i=1,#args 
+    --do
+    --    print(" -- ", i, args[i])
+    --end
+ 
+
+    -- return two arguments on top of status
+    return true, 1234, "ABCD", 5678
+
diff --git a/conf.d/ctl-rules/onload-control-policy.json b/conf.d/ctl-rules/onload-control-policy.json
new file mode 100644
index 0000000..5c0c232
--- /dev/null
+++ b/conf.d/ctl-rules/onload-control-policy.json
@@ -0,0 +1,99 @@
+{
+    "$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": "SamplePolicyInstall",
+                "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": "samplePolicyCB",
+                            "args": {
+                            "arg1": "snoopy",
+                            "arg2": "toto"
+                            }
+                        }, {
+                            "label": "multimedia-control-ucm",
+                            "info": "Subcall AlSA UCM navigation",   
+                            "api": "alsacore",
+                            "verb": "ucmset",
+                            "args": {
+                                "verb": "multimedia"
+                            }
+                        }
+                    ]
+                },
+                {
+                    "label":"navigation",
+                    "action" : {
+                        "api": "alsacore",
+                        "verb": "ucmset",
+                        "args": {
+                            "verb": "navigation"
+                        },
+                        "optional": true,
+                        "timeout": 100
+                    }
+                }, {
+                    "label":"emergency",
+                    "action": {
+                        "api": "alsacore",
+                        "verb": "ucmset",
+                        "args": {
+                            "verb": "emergency"
+                        }
+                    }
+                }]
+    ,
+    "events": [
+        {
+            "label": "SampleEvent",
+            "comment": "define action when receiving a given event",
+            "actions": [
+                {
+                    "info": "Event Callback-1",
+                    "callback": "ProcessEventCB",
+                    "args": {
+                        "arg": "action-1"
+                    }
+                }, {
+                    "info": "Event Callback-2",
+                    "callback": "ProcessEventCB",
+                    "args": {
+                        "arg": "action-2"
+                    }
+                }
+            ]
+        }
+    ]
+}
+
diff --git a/conf.d/ctl-rules/onload-control-script.lua b/conf.d/ctl-rules/onload-control-script.lua
new file mode 100644
index 0000000..f50bf7a
--- /dev/null
+++ b/conf.d/ctl-rules/onload-control-script.lua
@@ -0,0 +1,95 @@
+--[[
+  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
+--]]
+
+count=0
+
+-- Adjust Volume function of vehicle speed
+function Adjust_Volume_Speed (request, speed_meters_second)
+
+  AFB:notice("In Adjust_Volume_Speed speed=%d", speed_meters_second);
+
+   print (string.format("*****(From Lua) Adjust_Volume_Speed speed=%d count=%d", speed_meters_second, count));
+
+   -- compute volume
+   volume = speed_meters_second * 2
+   count=count+1
+
+  AFB:success (request, 1234, volume, count, 5678) 
+end
+
+
+function Test_Binder_CB (result, context) 
+
+   local myTable= { ["arg1"] = "myString", ["arg2"] = 1234, ["arg4"] = true, ["arg5"] = 3.1416 }
+
+   AFB:notice ("In Test_Binder_CB", result, context)
+
+   AFB:success (1234, "ABCD", myTable, 5678)
+
+end
+
+function Test_Binder_Call_Async () 
+
+   local query= {
+      ["arg1"] = "myString",
+      ["arg2"] = 1234,
+      ["arg4"] = true,
+      ["arg5"] = 3.1416,
+   }
+
+   AFB:service("alsacore","ping", query, Test_Binder_CB, "myContext")
+
+end
+
+function Test_Binder_Call_Sync () 
+
+    local query= {
+      ["arg1"] = "myString",
+      ["arg2"] = 1234,
+      ["arg4"] = true,
+      ["arg5"] = 3.1416,
+    }
+
+   err= AFB:service_sync ("alsacore","ping", query)
+
+    if (err) then
+        AFB:fail ("AFB:service_call_sync fail");
+    else
+        AFB:success (1234, "ABCD", myTable)
+    end
+
+
+end
+
+function Ping_Test(...)
+
+    print ("Ping_Test script arguments:");
+
+    for i,v in ipairs(arg)
+    do
+        print(" -- ", tostring(v))
+    end
+
+    -- push response to client
+    AFB:success (true, 1234, "ABCD"); 
+
+end
+
+
-- 
cgit