Diff between 65e38696a2da1825e0f1623210c9803892bbb6d7 and 14151f9b528c654fd4b092b06ddb55d37f80aeb1

Changed Files

File Additions Deletions Status
test/agent.py +19 -0 modified

Full Patch

diff --git a/test/agent.py b/test/agent.py
index 778dbe0..d8e5534 100755
--- a/test/agent.py
+++ b/test/agent.py
@@ -3,6 +3,7 @@
 import sys
 import dbus
 import dbus.service
+import numpy
 
 try:
   from termcolor import colored, cprint
@@ -17,6 +18,12 @@ AGENT_PATH = "/mesh/test/agent"
 
 bus = None
 
+def array_to_string(b_array):
+	str_value = ""
+	for b in b_array:
+		str_value += "%02x" % b
+	return str_value
+
 class Agent(dbus.service.Object):
 	def __init__(self, bus):
 		self.path = AGENT_PATH
@@ -27,6 +34,7 @@ class Agent(dbus.service.Object):
 		caps = []
 		oob = []
 		caps.append('out-numeric')
+		caps.append('static-oob')
 		oob.append('other')
 		return {
 			AGENT_IFACE: {
@@ -46,3 +54,14 @@ class Agent(dbus.service.Object):
 	def DisplayNumeric(self, type, value):
 		print(set_cyan('DisplayNumeric ('), type,
 				set_cyan(') number ='), set_green(value))
+
+	@dbus.service.method(AGENT_IFACE, in_signature="s", out_signature="ay")
+	def PromptStatic(self, type):
+		static_key = numpy.random.randint(0, 255, 16)
+		key_str = array_to_string(static_key)
+
+		print(set_cyan('PromptStatic ('), type, set_cyan(')'))
+		print(set_cyan('Enter 16 octet key on remote device: '),
+							set_green(key_str));
+
+		return dbus.Array(static_key, signature='y')