mesh: Sample Provisioning Agent
authorInga Stotland <inga.stotland@intel.com>
Fri, 14 Dec 2018 22:13:25 +0000 (14:13 -0800)
committerAnupam Roy <anupam.r@samsung.com>
Tue, 17 Dec 2019 14:01:43 +0000 (19:31 +0530)
This implements a simple provisioning agent to test
org.bluez.mesh.ProvisionAgent interface.

Change-Id: Ia9e3b842abe98cbb9fb1c22bc0e489a07c18b564
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
test/agent.py [new file with mode: 0755]

diff --git a/test/agent.py b/test/agent.py
new file mode 100755 (executable)
index 0000000..22c92f9
--- /dev/null
@@ -0,0 +1,40 @@
+#!/usr/bin/python
+
+import sys
+import dbus
+import dbus.service
+import dbus.mainloop.glib
+
+AGENT_IFACE = 'org.bluez.mesh.ProvisionAgent1'
+AGENT_PATH = "/mesh/test/agent"
+
+bus = None
+
+class Agent(dbus.service.Object):
+       def __init__(self, bus):
+               self.path = AGENT_PATH
+               self.bus = bus
+               dbus.service.Object.__init__(self, bus, self.path)
+
+       def get_properties(self):
+               caps = []
+               oob = []
+               caps.append('out-numeric')
+               oob.append('other')
+               return {
+                       AGENT_IFACE: {
+                               'Capabilities': dbus.Array(caps, 's'),
+                               'OutOfBandInfo': dbus.Array(oob, 's')
+                       }
+               }
+
+       def get_path(self):
+               return dbus.ObjectPath(self.path)
+
+       @dbus.service.method(AGENT_IFACE, in_signature="", out_signature="")
+       def Cancel(self):
+               print("Cancel")
+
+       @dbus.service.method(AGENT_IFACE, in_signature="su", out_signature="")
+       def DisplayNumeric(self, type, value):
+               print("DisplayNumeric type=", type, " number=", value)