Source code for pyconnman.manager

from __future__ import unicode_literals

from interface import ConnInterface


[docs]class ConnManager(ConnInterface): """ Wrapper around dbus to encapsulate the net.connman.Manager interface which notionally is used to manage all network connections. :Properties: * **State(str) [readonly]**: The global connection state of a system. Possible values are "offline", "idle", "ready" and "online". If the device is in offline mode, the value "offline" indicates this special global state. It can also be retrieved via the OfflineMode property, but is kept here for consistency and to differentiate from "idle". However when OfflineMode property is true, the State property can still be "idle", "ready" or "online" since it is possible by the end user to re-enable individual technologies like WiFi and Bluetooth while in offline mode. The states "idle", "ready" and "online" match to states from the services. If no service is in either "ready" or "online" state it will indicate the "idle" state. If at least one service is in "ready" state and no service is in "online" state, then it will indicate the "ready" state. When at least one service is in "online" state, this property will indicate "online" as well. * **OfflineMode(boolean) [readwrite]**: The offline mode indicates the global setting for switching all radios on or off. Changing offline mode to true results in powering down all devices. When leaving offline mode the individual policy of each device decides to switch the radio back on or not. During offline mode, it is still possible to switch certain technologies manually back on. For example the limited usage of WiFi or Bluetooth devices might be allowed in some situations. See also :py:class:`.ConnService` and :py:class:`.ConnTechnology` """ SIGNAL_TECHNOLOGY_ADDED = 'TechnologyAdded' """ :signal TechnologyAdded(signal_name, user_arg, object_path, props): Signal that is sent when a new technology is added. It contains the object path of the technology and also its properties. """ SIGNAL_TECHNOLOGY_REMOVED = 'TechnologyRemoved' """ :signal TechnologyRemoved(signal_name, user_arg, object_path): Signal that is sent when a technology has been removed. The object path is no longer accessible after this signal and only emitted for reference. """ SIGNAL_SERVICES_CHANGED = 'ServicesChanged' """ :signal ServicesChanged(signal_name, user_arg, array{object, dict}, array{object}): Signals a list of services that have been changed via the first array. And a list of service that have been removed via the second array. The list of added services is sorted. The dictionary with the properties might be empty in case none of the properties have changed. Or only contains the properties that have changed. For newly added services the whole set of properties will be present. The list of removed services can be empty. This signal will only be triggered when the sort order of the service list or the number of services changes. It will not be emitted if only a property of the service object changes. For that it is required to watch the :attr:`.SIGNAL_PROPERTY_CHANGED` signal of the service object. """ def __init__(self): ConnInterface.__init__(self, '/', 'net.connman.Manager') self._register_signal_name(ConnManager.SIGNAL_TECHNOLOGY_ADDED) self._register_signal_name(ConnManager.SIGNAL_TECHNOLOGY_REMOVED) self._register_signal_name(ConnManager.SIGNAL_SERVICES_CHANGED)
[docs] def get_technologies(self): """ Returns a list of tuples with technology object path and dictionary of technology properties. :return: List of tuples containing object path,dict :rtype: array{object,dict} :raises dbus.Exception: net.connman.Manager.Error.InvalidArguments """ return self._interface.GetTechnologies()
[docs] def get_services(self): """ Returns a sorted list of tuples with service object path and dictionary of service properties. This list will not contain sensitive information like passphrases etc. :return: List of tuples containing object path,dict :rtype: array{object,dict} :raises dbus.Exception: net.connman.Manager.Error.InvalidArguments """ return self._interface.GetServices()
[docs] def register_agent(self, path): """ Register new agent for handling user requests. :return: :raises dbus.Exception: net.connman.Manager.Error.InvalidArguments """ return self._interface.RegisterAgent(path)
[docs] def unregister_agent(self, path): """ Unregister an existing agent. :return: :raises dbus.Exception: net.connman.Manager.Error.InvalidArguments """ return self._interface.UnregisterAgent(path)