예제 #1
0
class NetworkService(Service):
    def __init__(self, device: Device, uuid: str):
        super().__init__(device, uuid)
        self._service = Network(device.get_object_path())

    @property
    def available(self) -> bool:
        # This interface is only available after pairing
        paired: bool = self.device["Paired"]
        return paired

    @property
    def connected(self) -> bool:
        if not self.available:
            return False

        connected: bool = self._service["Connected"]
        return connected

    def connect(
        self,
        reply_handler: Optional[Callable[[str], None]] = None,
        error_handler: Optional[Callable[[BluezDBusException], None]] = None,
    ) -> None:
        self._service.connect(self.uuid, reply_handler=reply_handler, error_handler=error_handler)

    def disconnect(
        self,
        reply_handler: Optional[Callable[[], None]] = None,
        error_handler: Optional[Callable[[BluezDBusException], None]] = None,
    ) -> None:
        self._service.disconnect(reply_handler=reply_handler, error_handler=error_handler)
예제 #2
0
class NetworkService(Service):
    def __init__(self, device, uuid):
        super().__init__(device, uuid)
        self._service = Network(device.get_object_path())

    @property
    def available(self):
        # This interface is only available after pairing
        return self.device["Paired"]

    @property
    def connected(self):
        if not self.available:
            return False

        return self._service['Connected']

    def connect(self, reply_handler=None, error_handler=None):
        self._service.connect(self.uuid,
                              reply_handler=reply_handler,
                              error_handler=error_handler)

    def disconnect(self, reply_handler=None, error_handler=None, *args):
        self._service.disconnect(reply_handler=reply_handler,
                                 error_handler=error_handler)
예제 #3
0
class NetworkService(Service):
    def __init__(self, device: Device, uuid: str):
        super().__init__(device, uuid)
        self._service = Network(obj_path=device.get_object_path())

    @property
    def available(self) -> bool:
        # This interface is only available after pairing
        paired: bool = self.device["Paired"]
        return paired

    @property
    def connectable(self) -> bool:
        return not self.available or not self._service["Connected"]

    @property
    def connected_instances(self) -> List[Instance]:
        return [] if self.connectable else [Instance(self.name)]

    def connect(
        self,
        reply_handler: Optional[Callable[[str], None]] = None,
        error_handler: Optional[Callable[[BluezDBusException], None]] = None,
    ) -> None:
        self._service.connect(self.uuid,
                              reply_handler=reply_handler,
                              error_handler=error_handler)

    def disconnect(
        self,
        reply_handler: Optional[Callable[[], None]] = None,
        error_handler: Optional[Callable[[BluezDBusException], None]] = None,
    ) -> None:
        self._service.disconnect(reply_handler=reply_handler,
                                 error_handler=error_handler)

    @property
    def common_actions(self) -> Set[Action]:
        def renew() -> None:
            AppletService().DhcpClient('(s)', self.device.get_object_path())

        return {
            Action(_("Renew IP Address"), "view-refresh", {"DhcpClient"},
                   renew)
        }
예제 #4
0
class NetworkService(Service):
    def __init__(self, device, uuid):
        super(NetworkService, self).__init__(device, uuid)
        self._service = Network(device.get_object_path())

    @property
    def connected(self):
        try:
            return self._service.get_properties()['Connected']
        except DBusException as e:
            dprint('Could not get properties of network service: %s' % e)
            return False

    def connect(self, reply_handler=None, error_handler=None):
        self._service.connect(self.uuid, reply_handler=reply_handler, error_handler=error_handler)

    def disconnect(self, reply_handler=None, error_handler=None, *args):
        self._service.disconnect(reply_handler=reply_handler, error_handler=error_handler)
예제 #5
0
class NetworkService(Service):
    def __init__(self, device, uuid):
        super(NetworkService, self).__init__(device, uuid)
        self._service = Network(device.get_object_path())

    @property
    def connected(self):
        try:
            return self._service.get_properties()['Connected']
        except BluezDBusException as e:
            dprint('Could not get properties of network service: %s' % e)
            return False

    def connect(self, reply_handler=None, error_handler=None):
        self._service.connect(self.uuid, reply_handler=reply_handler, error_handler=error_handler)

    def disconnect(self, reply_handler=None, error_handler=None, *args):
        self._service.disconnect(reply_handler=reply_handler, error_handler=error_handler)
예제 #6
0
class NetworkService(Service):
    def __init__(self, device, uuid):
        super(NetworkService, self).__init__(device, uuid)
        self._service = Network(device.get_object_path())

    @property
    def available(self):
        # This interface is only available after pairing
        return self.device["Paired"]

    @property
    def connected(self):
        if not self.available:
            return False

        return self._service['Connected']

    def connect(self, reply_handler=None, error_handler=None):
        self._service.connect(self.uuid, reply_handler=reply_handler, error_handler=error_handler)

    def disconnect(self, reply_handler=None, error_handler=None, *args):
        self._service.disconnect(reply_handler=reply_handler, error_handler=error_handler)