From 019a32aebc159ea7108b977747fed56f24c05da4 Mon Sep 17 00:00:00 2001
From: Romain Forlot <romain.forlot@iot.bzh>
Date: Thu, 24 Aug 2017 12:48:05 +0200
Subject: Added afb-controller files

Change-Id: I47ea676a4528dcdcb7cbbf751bb96c7f37e8db46
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
---
 conf.d/project/json.d/onload-daemon-config.json | 69 +++++++++++++++++++++++++
 conf.d/project/lua.d/onload_daemon-00-init.lua  | 48 +++++++++++++++++
 2 files changed, 117 insertions(+)
 create mode 100644 conf.d/project/json.d/onload-daemon-config.json
 create mode 100644 conf.d/project/lua.d/onload_daemon-00-init.lua

(limited to 'conf.d')

diff --git a/conf.d/project/json.d/onload-daemon-config.json b/conf.d/project/json.d/onload-daemon-config.json
new file mode 100644
index 0000000..b3f2b1a
--- /dev/null
+++ b/conf.d/project/json.d/onload-daemon-config.json
@@ -0,0 +1,69 @@
+{
+    "$schema": "ToBeDone",
+    "metadata": {
+        "label": "ViWi-standalone-control",
+        "info": "High Level ViWi Standalone Controller Config",
+        "name": "afb-viwi-controller",
+        "version": "1.0"
+    },
+    "onload": [{
+            "label": "onload-default",
+            "info": "onload initialisation config",
+            "require": ["high-viwi"],
+            "actions":
+                    {
+                        "label": "control-init",
+                        "lua": "_Sample_Controller_Init",
+                        "args": {
+                            "xxxx": 1234,
+                            "yyyy": "Bien le bonjours à vous",
+                            "zzzz": "simple-evt"
+                        }
+                    }
+        }],
+    "controls":
+            [
+                {
+                    "label": "Button-Happy",
+                    "actions": {
+                        "label": "Action Happy",
+                        "lua": "_Button_Happy",
+                        "args": {
+                            "button": 5678
+                        }
+                    }
+                }, {
+                    "label": "Button-UnHappy",
+                    "actions": {
+                        "label": "Action Unhappy",
+                        "lua": "_Button_UnHappy",
+                        "args": {
+                            "button": "abcd"
+                        }
+                    }
+                }
+            ],
+    "events":
+            [
+                {
+                    "label": "Event1",
+                    "actions": {
+                        "label": "Action Event 1",
+                        "lua": "_Event_Received",
+                        "args": {
+                            "evtname": "xxx"
+                        }
+                    }
+                },
+                {
+                    "label": "Event2",
+                    "actions": {
+                        "label": "Action Event 2",
+                        "lua": "_Event_Received",
+                        "args": {
+                            "evtname": "yyy"
+                        }
+                    }
+                }
+            ]
+}
diff --git a/conf.d/project/lua.d/onload_daemon-00-init.lua b/conf.d/project/lua.d/onload_daemon-00-init.lua
new file mode 100644
index 0000000..26ff08a
--- /dev/null
+++ b/conf.d/project/lua.d/onload_daemon-00-init.lua
@@ -0,0 +1,48 @@
+--[[
+  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.
+--]]
+
+-- Global variable SHOULD start with _
+_Global_Context={}
+
+--[[
+   This function is call during controller init phase as describe in onload-daemon-sample.json
+   It receives two argument 1st one is the source (here on load) second one is the arguments
+   as expose in config file.
+
+   In this sample we create an event that take the name of args["zzzz"], the resulting handle
+   is save into _Global_Context for further use.
+
+   Note: init functions are not call from a client and thus do not receive query
+
+--]]
+function _Sample_Controller_Init(source, control)
+
+    printf ("[-- Sample_Controller_Init --] source=%d control=%s", source, Dump_Table(control))
+
+    -- if no argument return now
+    if (control==nil or control["zzzz"]==nil) then
+        printf ("[-- Sample_Controller_Init --]  no event name given")
+        return
+    end
+
+    -- set a count to make more visible each call
+    _Global_Context["counter"]=0
+
+    -- just for fun create an event
+    _Global_Context["event"]=AFB:evtmake(control["zzzz"])
+
+end
-- 
cgit