mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2025-01-11 18:22:42 +01:00
autotests: Add a utilities for the SignalLevelAgent API
This commit is contained in:
parent
c2a39f5c22
commit
ca1ef2d82f
@ -28,6 +28,7 @@ IWD_DEVICE_INTERFACE = 'net.connman.iwd.Device'
|
|||||||
IWD_KNOWN_NETWORKS_INTERFACE = 'net.connman.iwd.KnownNetworks'
|
IWD_KNOWN_NETWORKS_INTERFACE = 'net.connman.iwd.KnownNetworks'
|
||||||
IWD_NETWORK_INTERFACE = 'net.connman.iwd.Network'
|
IWD_NETWORK_INTERFACE = 'net.connman.iwd.Network'
|
||||||
IWD_WSC_INTERFACE = 'net.connman.iwd.WiFiSimpleConfiguration'
|
IWD_WSC_INTERFACE = 'net.connman.iwd.WiFiSimpleConfiguration'
|
||||||
|
IWD_SIGNAL_AGENT_INTERFACE = 'net.connman.iwd.SignalLevelAgent'
|
||||||
|
|
||||||
IWD_AGENT_MANAGER_PATH = '/'
|
IWD_AGENT_MANAGER_PATH = '/'
|
||||||
IWD_KNOWN_NETWORKS_PATH = '/'
|
IWD_KNOWN_NETWORKS_PATH = '/'
|
||||||
@ -167,6 +168,31 @@ class NetworkType(Enum):
|
|||||||
return type
|
return type
|
||||||
|
|
||||||
|
|
||||||
|
class SignalAgent(dbus.service.Object):
|
||||||
|
def __init__(self, passphrase = None):
|
||||||
|
self._path = '/test/agent/' + str(int(round(time.time() * 1000)))
|
||||||
|
|
||||||
|
dbus.service.Object.__init__(self, dbus.SystemBus(), self._path)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def path(self):
|
||||||
|
return self._path
|
||||||
|
|
||||||
|
@dbus.service.method(IWD_SIGNAL_AGENT_INTERFACE,
|
||||||
|
in_signature='', out_signature='')
|
||||||
|
def Release(self):
|
||||||
|
print("SignalAgent released")
|
||||||
|
|
||||||
|
@dbus.service.method(IWD_SIGNAL_AGENT_INTERFACE,
|
||||||
|
in_signature='oy', out_signature='')
|
||||||
|
def SignalLevelChanged(self, path, level):
|
||||||
|
self.handle_new_level(str(path), int(level))
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
def handle_new_level(self, path, level):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
class Device(IWDDBusAbstract):
|
class Device(IWDDBusAbstract):
|
||||||
'''
|
'''
|
||||||
Class represents a network device object: net.connman.iwd.Device
|
Class represents a network device object: net.connman.iwd.Device
|
||||||
@ -307,6 +333,21 @@ class Device(IWDDBusAbstract):
|
|||||||
error_handler=self._failure)
|
error_handler=self._failure)
|
||||||
self._wait_for_async_op()
|
self._wait_for_async_op()
|
||||||
|
|
||||||
|
def register_signal_agent(self, signal_agent, levels):
|
||||||
|
self._iface.RegisterSignalLevelAgent(signal_agent.path,
|
||||||
|
dbus.Array(levels, 'n'),
|
||||||
|
dbus_interface=self._iface_name,
|
||||||
|
reply_handler=self._success,
|
||||||
|
error_handler=self._failure)
|
||||||
|
self._wait_for_async_op()
|
||||||
|
|
||||||
|
def unregister_signal_agent(self, signal_agent):
|
||||||
|
self._iface.UnregisterSignalLevelAgent(signal_agent.path,
|
||||||
|
dbus_interface=self._iface_name,
|
||||||
|
reply_handler=self._success,
|
||||||
|
error_handler=self._failure)
|
||||||
|
self._wait_for_async_op()
|
||||||
|
|
||||||
def __str__(self, prefix = ''):
|
def __str__(self, prefix = ''):
|
||||||
return prefix + 'Device: ' + self.device_path + '\n'\
|
return prefix + 'Device: ' + self.device_path + '\n'\
|
||||||
+ prefix + '\tName:\t\t' + self.name + '\n'\
|
+ prefix + '\tName:\t\t' + self.name + '\n'\
|
||||||
|
Loading…
Reference in New Issue
Block a user