/*! * * Copyright (c) 2021-2024 Diality Inc. - All Rights Reserved. * \copyright * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * \file MBluetooth.h * \author (last) Vy * \date (last) 05-Sep-2023 * \author (original) Behrouz NematiPour * \date (original) 24-Aug-2021 * */ #pragma once // Qt #include #include // Project #include "main.h" // Doxygen : do not remove // namespace namespace Model { class MBluetooth { Q_GADGET public: enum InterfaceStates { eIS_Idle , eIS_Local_Init , eIS_Local_Connect , eIS_Local_Error_Invalid , eIS_Local_Error_POST , eIS_Local_Error_Off , eIS_Local_Error_IO , eIS_Local_Error , eIS_Local_Disconnect , eIS_Scan_Start , eIS_Scan_Reject , eIS_Scan_NotFound , eIS_Scan_Discover , eIS_Scan_Found , eIS_Scan_Stop , eIS_Scan_Done , eIS_Device_Init , eIS_Device_Start , eIS_Device_Connect , eIS_Device_Waiting , eIS_Device_Error_Init , eIS_Device_Error , eIS_Device_Done , eIS_Device_Disconnect , eIS_Service_Start , eIS_Service_Invalid , eIS_Service_Error , eIS_Service_Discover , eIS_Service_Detail , eIS_Service_Detail_Error , eIS_Service_Detail_Done , eIS_Service_Done , eIS_Detail_Change , eIS_Detail_Read , eIS_Detail_Write , eIS_Config_Read , eIS_Config_Write , eIS_Close , }; Q_ENUM(InterfaceStates) struct BluetoothDevice { QString addr = ""; ///< the device address QString name = ""; ///< the device name bool pair = 0; ///< the device pairing status bool operator ==(const BluetoothDevice &vDevice) const { return vDevice.addr == addr && vDevice.name == name ; } QString toString() const { return addr + "," + pair + "," + name; } }; InterfaceStates state ; QString localAddr = ""; QString localName = ""; QString deviceAddr = ""; QString deviceName = ""; quint8 deviceBatt = 0; quint8 devicePair = 0; qint16 error = 0; bool valid = 1; QString serviceAddr = ""; QString serviceName = ""; QString detailAddr = ""; QString detailName = ""; QString detailValue = ""; MBluetooth( InterfaceStates vState = eIS_Idle, QString vDeviceAddr = "", QString vDeviceName = "", quint8 vDeviceBatt = 0, quint8 vDevicePair = 0, qint16 vError = 0, bool vValid = 1, QString vServiceAddr = "", QString vServiceName = "", QString vDetailAddr = "", QString vDetailName = "", QString vDetailValue = "" ); }; } typedef Model::MBluetooth BluetoothData; typedef Model::MBluetooth::BluetoothDevice BluetoothDeviceData; typedef QList BluetoothDeviceListData;