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;
39 enum class SocketState {
50 enum class SocketError {
53 RemoteHostClosedError,
57 UnsupportedProtocolError,
59 MissingPermissionsError
63 explicit QBluetoothSocket(QBluetoothServiceInfo::Protocol socketType, QObject *parent =
nullptr);
64 explicit QBluetoothSocket(QObject *parent =
nullptr);
65 virtual ~QBluetoothSocket();
69 void close() override;
71 bool isSequential()
const override;
73 qint64 bytesAvailable()
const override;
74 qint64 bytesToWrite()
const override;
76 bool canReadLine()
const override;
78 void connectToService(
const QBluetoothServiceInfo &service, OpenMode openMode = ReadWrite);
79 void connectToService(
const QBluetoothAddress &address,
const QBluetoothUuid &uuid, OpenMode openMode = ReadWrite);
80 void connectToService(
const QBluetoothAddress &address, quint16 port, OpenMode openMode = ReadWrite);
81 inline void connectToService(
const QBluetoothAddress &address, QBluetoothUuid::ServiceClassUuid uuid,
82 OpenMode mode = ReadWrite)
84 connectToService(address, QBluetoothUuid(uuid), mode);
86 void disconnectFromService();
91 QString localName()
const;
92 QBluetoothAddress localAddress()
const;
93 quint16 localPort()
const;
95 QString peerName()
const;
96 QBluetoothAddress peerAddress()
const;
97 quint16 peerPort()
const;
103 bool setSocketDescriptor(
int socketDescriptor, QBluetoothServiceInfo::Protocol socketType,
104 SocketState socketState = SocketState::ConnectedState,
105 OpenMode openMode = ReadWrite);
106 int socketDescriptor()
const;
108 QBluetoothServiceInfo::Protocol socketType()
const;
109 SocketState state()
const;
110 SocketError error()
const;
111 QString errorString()
const;
117 void setPreferredSecurityFlags(QBluetooth::SecurityFlags flags);
118 QBluetooth::SecurityFlags preferredSecurityFlags()
const;
123 void errorOccurred(QBluetoothSocket::SocketError error);
124 void stateChanged(QBluetoothSocket::SocketState state);
127 qint64 readData(
char *data, qint64 maxSize) override;
128 qint64 writeData(
const char *data, qint64 maxSize) override;
130 void setSocketState(SocketState state);
131 void setSocketError(SocketError error);
133 void doDeviceDiscovery(
const QBluetoothServiceInfo &service, OpenMode openMode);
136 void serviceDiscovered(
const QBluetoothServiceInfo &service);
137 void discoveryFinished();
143 explicit QBluetoothSocket(QBluetoothSocketBasePrivate *d,
144 QBluetoothServiceInfo::Protocol socketType,
145 QObject *parent =
nullptr);
148 QBluetoothSocketBasePrivate *d_ptr;
151 friend class QLowEnergyControllerPrivateBluez;