25 Q_DECLARE_PRIVATE(QBluetoothSocketBase)
27 friend class QBluetoothServer;
28 friend class QBluetoothServerPrivate;
29 friend class QBluetoothSocketPrivateDarwin;
30 friend class QBluetoothSocketPrivateAndroid;
31 friend class QBluetoothSocketPrivateBluez;
32 friend class QBluetoothSocketPrivateBluezDBus;
33 friend class QBluetoothSocketPrivateDummy;
34 friend class QBluetoothSocketPrivateWin;
35 friend class QBluetoothSocketPrivateWinRT;
36 friend class QBluetoothSocketPrivateOhos;
40 enum class SocketState {
51 enum class SocketError {
54 RemoteHostClosedError,
58 UnsupportedProtocolError,
60 MissingPermissionsError
64 explicit QBluetoothSocket(QBluetoothServiceInfo::Protocol socketType, QObject *parent =
nullptr);
65 explicit QBluetoothSocket(QObject *parent =
nullptr);
66 virtual ~QBluetoothSocket();
70 void close() override;
72 bool isSequential()
const override;
74 qint64 bytesAvailable()
const override;
75 qint64 bytesToWrite()
const override;
77 bool canReadLine()
const override;
79 void connectToService(
const QBluetoothServiceInfo &service, OpenMode openMode = ReadWrite);
80 void connectToService(
const QBluetoothAddress &address,
const QBluetoothUuid &uuid, OpenMode openMode = ReadWrite);
81 void connectToService(
const QBluetoothAddress &address, quint16 port, OpenMode openMode = ReadWrite);
82 inline void connectToService(
const QBluetoothAddress &address, QBluetoothUuid::ServiceClassUuid uuid,
83 OpenMode mode = ReadWrite)
85 connectToService(address, QBluetoothUuid(uuid), mode);
87 void disconnectFromService();
92 QString localName()
const;
93 QBluetoothAddress localAddress()
const;
94 quint16 localPort()
const;
96 QString peerName()
const;
97 QBluetoothAddress peerAddress()
const;
98 quint16 peerPort()
const;
104 bool setSocketDescriptor(
int socketDescriptor, QBluetoothServiceInfo::Protocol socketType,
105 SocketState socketState = SocketState::ConnectedState,
106 OpenMode openMode = ReadWrite);
107 int socketDescriptor()
const;
109 QBluetoothServiceInfo::Protocol socketType()
const;
110 SocketState state()
const;
111 SocketError error()
const;
112 QString errorString()
const;
118 void setPreferredSecurityFlags(QBluetooth::SecurityFlags flags);
119 QBluetooth::SecurityFlags preferredSecurityFlags()
const;
124 void errorOccurred(QBluetoothSocket::SocketError error);
125 void stateChanged(QBluetoothSocket::SocketState state);
128 qint64 readData(
char *data, qint64 maxSize) override;
129 qint64 writeData(
const char *data, qint64 maxSize) override;
131 void setSocketState(SocketState state);
132 void setSocketError(SocketError error);
134 void doDeviceDiscovery(
const QBluetoothServiceInfo &service, OpenMode openMode);
137 void serviceDiscovered(
const QBluetoothServiceInfo &service);
138 void discoveryFinished();
144 explicit QBluetoothSocket(QBluetoothSocketBasePrivate *d,
145 QBluetoothServiceInfo::Protocol socketType,
146 QObject *parent =
nullptr);
149 QBluetoothSocketBasePrivate *d_ptr;
152 friend class QLowEnergyControllerPrivateBluez;