aboutsummaryrefslogtreecommitdiffstats
path: root/examples/bluetooth/lowenergyscanner/deviceinfo.py
blob: 35a568821ea16e58c964c364daf7ef46068fe8b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause

import sys

from PySide6.QtCore import QObject, Property, Signal
from PySide6.QtBluetooth import QBluetoothDeviceInfo


class DeviceInfo(QObject):

    device_changed = Signal()

    def __init__(self, d: QBluetoothDeviceInfo = None) -> None:
        super().__init__()
        self._device = d

    @Property(str, notify=device_changed)
    def device_name(self):
        return self._device.name()

    @Property(str, notify=device_changed)
    def device_address(self):
        if sys.platform == "darwin":
            return self._device.deviceUuid().toString()

        return self._device.address().toString()

    def get_device(self):
        return self._device

    def set_device(self, device):
        self._device = device
        self.device_changed.emit()