9#include <QtCore/qloggingcategory.h>
10#include <QtCore/qdebug.h>
37 channel:(IOBluetoothL2CAPChannel *)aChannel
44 if (self = [super
init]) {
47 [channel setDelegate:self];
48 device = [channel.device retain];
59 [channel setDelegate:nil];
64 [channel closeChannel];
74 withPSM:(BluetoothL2CAPChannelID)psm
77 qCCritical(QT_BT_DARWIN) <<
"invalid peer address";
78 return kIOReturnNoDevice;
83 qCCritical(QT_BT_DARWIN) <<
"connection is already active";
84 return kIOReturnStillOpen;
90 device = [IOBluetoothDevice deviceWithAddress:&iobtAddress];
92 qCCritical(QT_BT_DARWIN) <<
"failed to create a device";
93 return kIOReturnNoDevice;
96 const IOReturn status = [device openL2CAPChannelAsync:&channel withPSM:psm delegate:self];
97 if (status != kIOReturnSuccess) {
98 qCCritical(QT_BT_DARWIN) <<
"failed to open L2CAP channel";
107 return kIOReturnSuccess;
112- (
void)l2capChannelData:(IOBluetoothL2CAPChannel*)l2capChannel
113 data:(
void *)dataPointer length:(
size_t)dataLength
119 if (dataPointer && dataLength)
120 delegate->readChannelData(dataPointer, dataLength);
123- (
void)l2capChannelOpenComplete:(IOBluetoothL2CAPChannel*)
124 l2capChannel status:(IOReturn)error
130 if (
error != kIOReturnSuccess) {
131 delegate->setChannelError(
error);
134 delegate->channelOpenComplete();
138- (
void)l2capChannelClosed:(IOBluetoothL2CAPChannel*)l2capChannel
143 delegate->channelClosed();
147- (
void)l2capChannelReconfigured:(IOBluetoothL2CAPChannel*)l2capChannel
152- (
void)l2capChannelWriteComplete:(IOBluetoothL2CAPChannel*)l2capChannel
153 refcon:(
void*)refcon status:(IOReturn)error
160 if (
error != kIOReturnSuccess)
161 delegate->setChannelError(
error);
163 delegate->writeComplete();
166- (
void)l2capChannelQueueSpaceAvailable:(IOBluetoothL2CAPChannel*)l2capChannel
172- (BluetoothL2CAPPSM)getPSM
180- (BluetoothDeviceAddress)peerAddress
182 const BluetoothDeviceAddress *
const addr =
device ? [device getAddress]
187 return BluetoothDeviceAddress();
190- (NSString *)peerName
203- (IOReturn) writeSync:(
void*)data length:(UInt16)length
209 return [channel writeSync:data length:length];
212- (IOReturn) writeAsync:(
void*)data length:(UInt16)length
218 return [channel writeAsync:data length:length refcon:nullptr];
IOBluetoothL2CAPChannel * channel
IOBluetoothDevice * device
#define QT_BT_MAC_AUTORELEASEPOOL
BluetoothDeviceAddress iobluetooth_address(const QBluetoothAddress &qAddress)
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
DBusConnection const char DBusError * error
#define qCCritical(category,...)
GLenum GLuint GLenum GLsizei length
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLuint GLuint64EXT address
#define Q_ASSERT_X(cond, x, msg)
static QT_BEGIN_NAMESPACE void init(QTextBoundaryFinder::BoundaryType type, QStringView str, QCharAttributes *attributes)
QT_END_NAMESPACE typedef QT_PREPEND_NAMESPACE(quintptr) WId