On Tuesday 18 November 2014 16:39:09 Frederik Gladhorn wrote: >
-- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center
diff --git a/src/bluetooth/qbluetooth.h b/src/bluetooth/qbluetooth.h index b13c004..ebe546f 100644 --- a/src/bluetooth/qbluetooth.h +++ b/src/bluetooth/qbluetooth.h @@ -16,30 +16,21 @@ ** ** GNU Lesser General Public License Usage ** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ** ** In addition, as a special exception, Digia gives you certain additional ** rights. These rights are described in the Digia Qt LGPL Exception ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** ** $QT_END_LICENSE$ ** ****************************************************************************/ - #ifndef QBLUETOOTH_H #define QBLUETOOTH_H @@ -60,6 +51,8 @@ namespace QBluetooth { Q_DECLARE_OPERATORS_FOR_FLAGS(SecurityFlags) } +typedef quint16 QLowEnergyHandle; + QT_END_NAMESPACE #endif // QBLUETOOTH_H diff --git a/src/bluetooth/qbluetoothaddress.h b/src/bluetooth/qbluetoothaddress.h index db9e0a1..3fa491a 100644 --- a/src/bluetooth/qbluetoothaddress.h +++ b/src/bluetooth/qbluetoothaddress.h @@ -69,7 +61,10 @@ public: bool operator<(const QBluetoothAddress &other) const; bool operator==(const QBluetoothAddress &other) const; - inline bool operator!=(const QBluetoothAddress &other) const { return !operator==(other); } + inline bool operator!=(const QBluetoothAddress &other) const + { + return !operator==(other); + } quint64 toUInt64() const; QString toString() const; @@ -79,6 +74,10 @@ private: QBluetoothAddressPrivate *d_ptr; }; +#ifndef QT_NO_DEBUG_STREAM +Q_BLUETOOTH_EXPORT QDebug operator<<(QDebug, const QBluetoothAddress &address); +#endif + QT_END_NAMESPACE Q_DECLARE_METATYPE(QBluetoothAddress) diff --git a/src/bluetooth/qbluetoothdevicediscoveryagent.h b/src/bluetooth/qbluetoothdevicediscoveryagent.h index f52f32f..4638a4f 100644 --- a/src/bluetooth/qbluetoothdevicediscoveryagent.h +++ b/src/bluetooth/qbluetoothdevicediscoveryagent.h @@ -45,9 +37,7 @@ #include <QtBluetooth/qbluetoothglobal.h> #include <QObject> - #include <QtBluetooth/QBluetoothDeviceInfo> - #include <QtBluetooth/QBluetoothAddress> QT_BEGIN_NAMESPACE @@ -57,7 +47,8 @@ class QBluetoothDeviceDiscoveryAgentPrivate; class Q_BLUETOOTH_EXPORT QBluetoothDeviceDiscoveryAgent : public QObject { Q_OBJECT - Q_PROPERTY(QBluetoothDeviceDiscoveryAgent::InquiryType inquiryType READ inquiryType WRITE setInquiryType) + Q_PROPERTY(QBluetoothDeviceDiscoveryAgent::InquiryType inquiryType + READ inquiryType WRITE setInquiryType) public: // FIXME: add more errors @@ -76,7 +67,8 @@ public: }; QBluetoothDeviceDiscoveryAgent(QObject *parent = 0); - explicit QBluetoothDeviceDiscoveryAgent(const QBluetoothAddress &deviceAdapter, QObject *parent = 0); + explicit QBluetoothDeviceDiscoveryAgent(const QBluetoothAddress &deviceAdapter, + QObject *parent = 0); ~QBluetoothDeviceDiscoveryAgent(); // TODO Remove inquiry type in Qt 6 -> not really used anywhere @@ -107,6 +99,11 @@ private: #ifdef QT_BLUEZ_BLUETOOTH Q_PRIVATE_SLOT(d_func(), void _q_deviceFound(const QString &address, const QVariantMap &dict)) Q_PRIVATE_SLOT(d_func(), void _q_propertyChanged(const QString &name, const QDBusVariant &value)) + Q_PRIVATE_SLOT(d_func(), void _q_InterfacesAdded(const QDBusObjectPath &path, InterfaceList interfaceList)) + Q_PRIVATE_SLOT(d_func(), void _q_discoveryFinished()) + Q_PRIVATE_SLOT(d_func(), void _q_discoveryInterrupted(const QString &path)) + Q_PRIVATE_SLOT(d_func(), void _q_PropertiesChanged(const QString &interface, const QVariantMap &changed_properties, const QStringList &invalidated_properties)) + Q_PRIVATE_SLOT(d_func(), void _q_extendedDeviceDiscoveryTimeout()) #endif }; diff --git a/src/bluetooth/qbluetoothdeviceinfo.h b/src/bluetooth/qbluetoothdeviceinfo.h index be605f8..ea8b762 100644 --- a/src/bluetooth/qbluetoothdeviceinfo.h +++ b/src/bluetooth/qbluetoothdeviceinfo.h @@ -196,8 +188,17 @@ public: DataUnavailable }; + enum CoreConfiguration { + UnknownCoreConfiguration = 0x0, + LowEnergyCoreConfiguration = 0x01, + BaseRateCoreConfiguration = 0x02, + BaseRateAndLowEnergyCoreConfiguration = 0x03 + }; + Q_DECLARE_FLAGS(CoreConfigurations, CoreConfiguration) + QBluetoothDeviceInfo(); - QBluetoothDeviceInfo(const QBluetoothAddress &address, const QString &name, quint32 classOfDevice); + QBluetoothDeviceInfo(const QBluetoothAddress &address, const QString &name, + quint32 classOfDevice); QBluetoothDeviceInfo(const QBluetoothDeviceInfo &other); ~QBluetoothDeviceInfo(); @@ -224,6 +225,9 @@ public: QList<QBluetoothUuid> serviceUuids(DataCompleteness *completeness = 0) const; DataCompleteness serviceUuidsCompleteness() const; + void setCoreConfigurations(QBluetoothDeviceInfo::CoreConfigurations coreConfigs); + QBluetoothDeviceInfo::CoreConfigurations coreConfigurations() const; + protected: QBluetoothDeviceInfoPrivate *d_ptr; diff --git a/src/bluetooth/qbluetoothglobal.h b/src/bluetooth/qbluetoothglobal.h index c2184eb..9c64e24 100644 --- a/src/bluetooth/qbluetoothglobal.h +++ b/src/bluetooth/qbluetoothglobal.h @@ -68,7 +60,6 @@ private: QBluetoothHostInfoPrivate *d_ptr; }; - QT_END_NAMESPACE #endif diff --git a/src/bluetooth/qbluetoothlocaldevice.h b/src/bluetooth/qbluetoothlocaldevice.h index 597496b..4c1e901 100644 --- a/src/bluetooth/qbluetoothlocaldevice.h +++ b/src/bluetooth/qbluetoothlocaldevice.h @@ -16,30 +16,21 @@ ** ** GNU Lesser General Public License Usage ** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ** ** In addition, as a special exception, Digia gives you certain additional ** rights. These rights are described in the Digia Qt LGPL Exception ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** ** $QT_END_LICENSE$ ** ****************************************************************************/ - #ifndef QBLUETOOTHLOCALDEVICE_H #define QBLUETOOTHLOCALDEVICE_H diff --git a/src/bluetooth/qbluetoothserver.h b/src/bluetooth/qbluetoothserver.h index 6157384..2eadd1d 100644 --- a/src/bluetooth/qbluetoothserver.h +++ b/src/bluetooth/qbluetoothserver.h @@ -114,6 +106,7 @@ private: #ifdef QT_BLUEZ_BLUETOOTH Q_PRIVATE_SLOT(d_func(), void _q_discoveredServices(QDBusPendingCallWatcher*)) Q_PRIVATE_SLOT(d_func(), void _q_createdDevice(QDBusPendingCallWatcher*)) + Q_PRIVATE_SLOT(d_func(), void _q_finishSdpScan(QBluetoothServiceDiscoveryAgent::Error, const QString &, const QStringList &)) #endif #ifdef QT_ANDROID_BLUETOOTH Q_PRIVATE_SLOT(d_func(), void _q_processFetchedUuids(const QBluetoothAddress &address, diff --git a/src/bluetooth/qbluetoothserviceinfo.h b/src/bluetooth/qbluetoothserviceinfo.h index 4d3b861..1ec1d7d 100644 --- a/src/bluetooth/qbluetoothserviceinfo.h +++ b/src/bluetooth/qbluetoothserviceinfo.h @@ -160,8 +152,7 @@ protected: QBluetoothSocketPrivate *d_ptr; private: - Q_PRIVATE_SLOT(d_func(), void _q_readNotify()) - Q_PRIVATE_SLOT(d_func(), void _q_writeNotify()) + friend class QLowEnergyControllerPrivate; }; #ifndef QT_NO_DEBUG_STREAM diff --git a/src/bluetooth/qbluetoothtransfermanager.h b/src/bluetooth/qbluetoothtransfermanager.h index 501a40a..f252f97 100644 --- a/src/bluetooth/qbluetoothtransfermanager.h +++ b/src/bluetooth/qbluetoothtransfermanager.h @@ -63,7 +55,8 @@ public: HostNotFoundError, UserCanceledTransferError, IODeviceNotReadableError, - ResourceBusyError + ResourceBusyError, + SessionError }; @@ -86,6 +79,7 @@ Q_SIGNALS: //TODO Remove QBluetoothTransferReply* parameter in Qt 6 void finished(QBluetoothTransferReply *); void transferProgress(qint64 bytesTransferred, qint64 bytesTotal); + void error(QBluetoothTransferReply::TransferError lastError); protected: explicit QBluetoothTransferReply(QObject *parent = 0); @@ -102,4 +96,6 @@ private: QT_END_NAMESPACE +Q_DECLARE_METATYPE(QBluetoothTransferReply::TransferError) + #endif // QBLUETOOTHTRANSFERREPLY_H diff --git a/src/bluetooth/qbluetoothtransferrequest.h b/src/bluetooth/qbluetoothtransferrequest.h index b91429a..981e99a 100644 --- a/src/bluetooth/qbluetoothtransferrequest.h +++ b/src/bluetooth/qbluetoothtransferrequest.h @@ -151,12 +143,133 @@ public: VideoDistribution = 0x1305, HDP = 0x1400, HDPSource = 0x1401, - HDPSink = 0x1402 + HDPSink = 0x1402, + GenericAccess = 0x1800, + GenericAttribute = 0x1801, + ImmediateAlert = 0x1802, + LinkLoss = 0x1803, + TxPower = 0x1804, + CurrentTimeService = 0x1805, + ReferenceTimeUpdateService = 0x1806, + NextDSTChangeService = 0x1807, + Glucose = 0x1808, + HealthThermometer = 0x1809, + DeviceInformation = 0x180a, + HeartRate = 0x180d, + PhoneAlertStatusService = 0x180e, + BatteryService = 0x180f, + BloodPressure = 0x1810, + AlertNotificationService = 0x1811, + HumanInterfaceDevice = 0x1812, + ScanParameters = 0x1813, + RunningSpeedAndCadence = 0x1814, + CyclingSpeedAndCadence = 0x1816, + CyclingPower = 0x1818, + LocationAndNavigation = 0x1819, + }; + + enum CharacteristicType { + DeviceName = 0x2a00, + Appearance = 0x2a01, + PeripheralPrivacyFlag = 0x2a02, + ReconnectionAddress = 0x2a03, + PeripheralPreferredConnectionParameters = 0x2a04, + ServiceChanged = 0x2a05, + AlertLevel = 0x2a06, + TxPowerLevel = 0x2a07, + DateTime = 0x2a08, + DayOfWeek = 0x2a09, + DayDateTime = 0x2a0a, + ExactTime256 = 0x2a0c, + DSTOffset = 0x2a0d, + TimeZone = 0x2a0e, + LocalTimeInformation = 0x2a0f, + TimeWithDST = 0x2a11, + TimeAccuracy = 0x2a12, + TimeSource = 0x2a13, + ReferenceTimeInformation = 0x2a14, + TimeUpdateControlPoint = 0x2a16, + TimeUpdateState = 0x2a17, + GlucoseMeasurement = 0x2a18, + BatteryLevel = 0x2a19, + TemperatureMeasurement = 0x2a1c, + TemperatureType = 0x2a1d, + IntermediateTemperature = 0x2a1e, + MeasurementInterval = 0x2a21, + BootKeyboardInputReport = 0x2a22, + SystemID = 0x2a23, + ModelNumberString = 0x2a24, + SerialNumberString = 0x2a25, + FirmwareRevisionString = 0x2a26, + HardwareRevisionString = 0x2a27, + SoftwareRevisionString = 0x2a28, + ManufacturerNameString = 0x2a29, + IEEE1107320601RegulatoryCertificationDataList = 0x2a2a, + CurrentTime = 0x2a2b, + ScanRefresh = 0x2a31, + BootKeyboardOutputReport = 0x2a32, + BootMouseInputReport = 0x2a33, + GlucoseMeasurementContext = 0x2a34, + BloodPressureMeasurement = 0x2a35, + IntermediateCuffPressure = 0x2a36, + HeartRateMeasurement = 0x2a37, + BodySensorLocation = 0x2a38, + HeartRateControlPoint = 0x2a39, + AlertStatus = 0x2a3f, + RingerControlPoint = 0x2a40, + RingerSetting = 0x2a41, + AlertCategoryIDBitMask = 0x2a42, + AlertCategoryID = 0x2a43, + AlertNotificationControlPoint = 0x2a44, + UnreadAlertStatus = 0x2a45, + NewAlert = 0x2a46, + SupportedNewAlertCategory = 0x2a47, + SupportedUnreadAlertCategory = 0x2a48, + BloodPressureFeature = 0x2a49, + HIDInformation = 0x2a4a, + ReportMap = 0x2a4b, + HIDControlPoint = 0x2a4c, + Report = 0x2a4d, + ProtocolMode = 0x2a4e, + ScanIntervalWindow = 0x2a4f, + PnPID = 0x2a50, + GlucoseFeature = 0x2a51, + RecordAccessControlPoint = 0x2a52, + RSCMeasurement = 0x2a53, + RSCFeature = 0x2a54, + SCControlPoint = 0x2a55, + CSCMeasurement = 0x2a5b, + CSCFeature = 0x2a5c, + SensorLocation = 0x2a5d, + CyclingPowerMeasurement = 0x2a63, + CyclingPowerVector = 0x2a64, + CyclingPowerFeature = 0x2a65, + CyclingPowerControlPoint = 0x2a66, + LocationAndSpeed = 0x2a67, + Navigation = 0x2a68, + PositionQuality = 0x2a69, + LNFeature = 0x2a6a, + LNControlPoint = 0x2a6b, + }; + + enum DescriptorType { + UnknownDescriptorType = 0x0, + CharacteristicExtendedProperties = 0x2900, + CharacteristicUserDescription = 0x2901, + ClientCharacteristicConfiguration = 0x2902, + ServerCharacteristicConfiguration = 0x2903, + CharacteristicPresentationFormat = 0x2904, + CharacteristicAggregateFormat = 0x2905, + ValidRange = 0x2906, + ExternalReportReference = 0x2907, + ReportReference = 0x2908 }; QBluetoothUuid(); QBluetoothUuid(ProtocolUuid uuid); QBluetoothUuid(ServiceClassUuid uuid); + QBluetoothUuid(CharacteristicType uuid); + QBluetoothUuid(DescriptorType uuid); explicit QBluetoothUuid(quint16 uuid); explicit QBluetoothUuid(quint32 uuid); explicit QBluetoothUuid(quint128 uuid); @@ -172,6 +285,11 @@ public: quint16 toUInt16(bool *ok = 0) const; quint32 toUInt32(bool *ok = 0) const; quint128 toUInt128() const; + + static QString serviceClassToString(ServiceClassUuid uuid); + static QString protocolToString(ProtocolUuid uuid); + static QString characteristicToString(CharacteristicType uuid); + static QString descriptorToString(DescriptorType uuid); }; #ifndef QT_NO_DEBUG_STREAM
_______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
