From 5261163f019caa565957bc032b781c7c540ad53e Mon Sep 17 00:00:00 2001 From: Inga Stotland Date: Fri, 14 Dec 2018 14:13:25 -0800 Subject: mesh: Sample Provisioning Agent This implements a simple provisioning agent to test org.bluez.mesh.ProvisionAgent interface. --- test/agent.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100755 test/agent.py (limited to 'test') diff --git a/test/agent.py b/test/agent.py new file mode 100755 index 000000000..22c92f952 --- /dev/null +++ b/test/agent.py @@ -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) -- cgit v1.2.1