IOBluetoothOBEXSession
Сеанс OBEX с Bluetooth RFCOMM образовывает канал как транспорт.
Наследование
-
NSObject -
OBEXSession -
IOBluetoothOBEXSession
-
NSObject -
OBEXSession -
IOBluetoothOBEXSession
Соответствует
-
AnyObject -
CVarArgType -
Equatable -
Hashable -
IOBluetoothRFCOMMChannelDelegate -
NSObjectProtocol -
Печатаемый -
IOBluetoothRFCOMMChannelDelegate -
NSObject
Оператор импорта
Swift
import IOBluetooth
Objective C
@import IOBluetooth;
Доступность
Доступный в OS X v10.2 и позже.
-
Переопределение OBEXSession. Когда это вызовет базовый класс сеанса, мы закроем транспортное соединение, если это будет открыто. В нашем случае это будет канал RFCOMM, которому нужно закрытие.
Объявление
Swift
func closeTransportConnection() -> OBEXErrorObjective C
- (OBEXError)closeTransportConnectionВозвращаемое значение
Код успешности или неуспешности, описывая, преуспел ли вызов в том, чтобы закрыть транспортное соединение успешно.
Оператор импорта
Objective C
@import IOBluetooth;Swift
import IOBluetoothДоступность
Доступный в OS X v10.2 и позже.
-
Получите bluetooth-устройство, используемое объектом сеанса.
Объявление
Swift
func getDevice() -> IOBluetoothDevice!Objective C
- (IOBluetoothDevice *)getDeviceВозвращаемое значение
Объект IOBluetoothDevice.
Оператор импорта
Objective C
@import IOBluetooth;Swift
import IOBluetoothДоступность
Доступный в OS X v10.2 и позже.
-
Получите Bluetooth канал RFCOMM, используемый объектом сеанса.
Объявление
Swift
func getRFCOMMChannel() -> IOBluetoothRFCOMMChannel!Objective C
- (IOBluetoothRFCOMMChannel *)getRFCOMMChannelВозвращаемое значение
Объект IOBluetoothRFCOMMChannel.
Обсуждение
Это могло потенциально быть нолем даже при том, что у Вас есть допустимый сеанс OBEX, потому что канал RFCOMM только допустим, когда соединяется сеанс.
Оператор импорта
Objective C
@import IOBluetooth;Swift
import IOBluetoothДоступность
Доступный в OS X v10.2 и позже.
-
Переопределение OBEXSession. Когда это вызовет базовый класс сеанса, мы возвратимся, установили ли нам транспортное соединение к другому серверу/клиенту OBEX. В нашем случае мы скажем, открыт ли канал RFCOMM к удаленному устройству все еще.
Объявление
Swift
func hasOpenTransportConnection() -> BoolObjective C
- (BOOL)hasOpenTransportConnectionВозвращаемое значение
Истина или ложь, существует ли уже открытое транспортное соединение для этого сеанса OBEX.
Оператор импорта
Objective C
@import IOBluetooth;Swift
import IOBluetoothДоступность
Доступный в OS X v10.2 и позже.
-
Инициализирует основанный на Bluetooth Сеанс OBEX с помощью bluetooth-устройства.
Объявление
Swift
init!(deviceinDevice: IOBluetoothDevice!, channelIDinChannelID: BluetoothRFCOMMChannelID)Objective C
- (instancetype)initWithDevice:(IOBluetoothDevice *)inDevicechannelID:(BluetoothRFCOMMChannelID)inChannelIDПараметры
inDeviceBluetooth-устройство, на котором можно открыть OBEXSession.
inChannelIDИдентификатор канала RFCOMM для использования при открытии соединения.
Оператор импорта
Objective C
@import IOBluetooth;Swift
import IOBluetoothДоступность
Доступный в OS X v10.2 и позже.
См. также
initWithDevice -
init (incomingRFCOMMChannel:eventSelector:selectorTarget:refCon:) - initWithIncomingRFCOMMChannel:eventSelector:selectorTarget:refCon:Инициализирует основанный на Bluetooth Сеанс OBEX с помощью поступления канал RFCOMM.
Объявление
Swift
init!(incomingRFCOMMChannelinChannelID: IOBluetoothRFCOMMChannel!, eventSelectorinEventSelector: Selector, selectorTargetinEventSelectorTarget: AnyObject!, refConrefCon: UnsafeMutablePointer<Void>)Objective C
- (instancetype)initWithIncomingRFCOMMChannel:(IOBluetoothRFCOMMChannel *)inChannelIDeventSelector:(SEL)inEventSelectorselectorTarget:(id)inEventSelectorTargetrefCon:(void *)refConПараметры
inChannelIDИдентификатор канала RFCOMM требуемого канала, который будет использоваться.
inEventSelectorСелектор, который вызовут, когда получено событие.
inEventSelectorTargetЦелевой объект, которые получают селекторное сообщение.
refConпостоянная ссылка вызывающей стороны, передайте то, что Вы хотите, она будет возвращена Вам в селекторе.
Оператор импорта
Objective C
@import IOBluetooth;Swift
import IOBluetoothДоступность
Доступный в OS X v10.2 и позже.
См. также
initWithIncomingRFCOMMChannel -
Инициализирует основанный на Bluetooth Сеанс OBEX с помощью служебной книжки SDP.
Объявление
Swift
init!(SDPServiceRecordinSDPServiceRecord: IOBluetoothSDPServiceRecord!)Objective C
- (instancetype)initWithSDPServiceRecord:(IOBluetoothSDPServiceRecord *)inSDPServiceRecordПараметры
inSDPServiceRecordОператор импорта
Objective C
@import IOBluetooth;Swift
import IOBluetoothДоступность
Доступный в OS X v10.2 и позже.
-
Говорит, является ли целевым устройством Mac путем проверки его служебной книжки.
Объявление
Swift
func isSessionTargetAMac() -> BoolObjective C
- (BOOL)isSessionTargetAMacВозвращаемое значение
TRUE, только если запись услуги устройства имеет запись Mac, FALSE для всего остального.
Обсуждение
Говорит, является ли целевым устройством Mac путем проверки его служебной книжки.
Оператор импорта
Objective C
@import IOBluetooth;Swift
import IOBluetoothДоступность
Доступный в OS X v10.4 и позже.
-
openTransportConnection (_: selectorTarget:refCon:) - openTransportConnection:selectorTarget:refCon:Переопределение OBEXSession. Когда это вызовет базовый класс сеанса, мы попытаемся открыть транспортное соединение. В нашем случае это было бы каналом RFCOMM к другому bluetooth-устройству.
Объявление
Swift
func openTransportConnection(_inSelector: Selector, selectorTargetinTarget: AnyObject!, refConinUserRefCon: UnsafeMutablePointer<Void>) -> OBEXErrorObjective C
- (OBEXError)openTransportConnection:(SEL)inSelectorselectorTarget:(id)inTargetrefCon:(void *)inUserRefConОбсуждение
Ваш селектор должен иметь следующую подпись:
- (недействительный) transportConnectionSelector: (ID) refcon состояние: состояние (OBEXError);
Таким образом Вы могли использовать его с openTransportConnection как это:
Ошибка OBEXError = [anOBEXSession openTransportConnection:@selector (transportConnectionSelector:status:) selectorTarget:self refCon:anOBEXSession];//или независимо от того, что Вы хотите передать как refCon...
Обязательно проверьте код состояния! Предположите, что соединение не было открыто, если состояние не является kOBEXSuccess.
Оператор импорта
Objective C
@import IOBluetooth;Swift
import IOBluetoothДоступность
Доступный в OS X v10.2 и позже.
См. также
openTransportConnection -
Если передача была остановлена вследствие отсутствия буферов, этот вызов перезапускает его.
Объявление
Swift
func restartTransmission()Objective C
- (void)restartTransmissionОбсуждение
Если передача была остановлена вследствие отсутствия буферов, этот вызов перезапускает его.
Оператор импорта
Objective C
@import IOBluetooth;Swift
import IOBluetoothДоступность
Доступный в OS X v10.2 и позже.
-
Отправляет следующей канавке блока данных канал rfcomm.
Объявление
Swift
func sendBufferTroughChannel() -> IOReturnObjective C
- (IOReturn)sendBufferTroughChannelОбсуждение
Так как отправление в канале rfcomm повреждается в многократных вызовах записи (это фактически - истина, только если размер является теркой, чем rfcomm MTU). Каждый вызов записи выполняется sendBufferTroughChannel. Это никогда не должно должно быть быть перезаписано.
Оператор импорта
Objective C
@import IOBluetooth;Swift
import IOBluetoothДоступность
Доступный в OS X v10.2 и позже.
-
Переопределение OBEXSession. Когда это вызовет базовый класс сеанса, мы отправим данные, которые нам дают по нашему транспортному соединению. Если ни один не открыт, мы могли бы попытаться открыть его, или просто возвратить ошибку. В нашем случае это будет отправлено по каналу RFCOMM.
Объявление
Swift
func sendDataToTransport(_inDataToSend: UnsafeMutablePointer<Void>, dataLengthinDataLength: UInt) -> OBEXErrorObjective C
- (OBEXError)sendDataToTransport:(void *)inDataToSenddataLength:(size_t)inDataLengthОператор импорта
Objective C
@import IOBluetooth;Swift
import IOBluetoothДоступность
Доступный в OS X v10.2 и позже.
См. также
sendDataToTransport -
Для поддержки API C. Позволяет Вам устанавливать обратный вызов, который будет вызван, когда фактически открыто соединение OBEX.
Объявление
Swift
func setOBEXSessionOpenConnectionCallback(_inCallback: IOBluetoothOBEXSessionOpenConnectionCallback, refConinUserRefCon: UnsafeMutablePointer<Void>)Objective C
- (void)setOBEXSessionOpenConnectionCallback:(IOBluetoothOBEXSessionOpenConnectionCallback)inCallbackrefCon:(void *)inUserRefConПараметры
inCallbackфункционируйте для обращения к цели.
inUserRefConпостоянный справочник пользователя, будет возвращен на обратном вызове.
Оператор импорта
Objective C
@import IOBluetooth;Swift
import IOBluetoothДоступность
Доступный в OS X v10.2 и позже.
См. также
setOBEXSessionOpenConnectionCallback -
setOpenTransportConnectionAsyncSelector (_: target:refCon:) - setOpenTransportConnectionAsyncSelector:target:refCon:Позволяет Вам устанавливать селектор, который будет использоваться, когда транспортная связь открыта или прерывается открыться.
Объявление
Swift
func setOpenTransportConnectionAsyncSelector(_inEventSelector: Selector, targetinEventSelectorTarget: AnyObject!, refConinUserRefCon: AnyObject!)Objective C
- (void)setOpenTransportConnectionAsyncSelector:(SEL)inEventSelectortarget:(id)inEventSelectorTargetrefCon:(id)inUserRefConПараметры
inEventSelectorСелектор для обращения к цели.
inEventSelectorTargetTarget, который вызовут с селектором.
inUserRefConrefCon пользователя, который будет передан им, когда будет вызван их селектор.
Обсуждение
Вы не должны вызывать это на сеансе обычно, если Вы не разделили OBEXSession на подклассы для реализации нового транспорта и что транспорт поддерживает асинхронное открытие соединений. Если это не поддерживает асинхронный открытый, то использование этого бессмысленно.
Оператор импорта
Objective C
@import IOBluetooth;Swift
import IOBluetoothДоступность
Доступный в OS X v10.2 и позже.
См. также
setOpenTransportConnectionAsyncSelector -
Создает основанный на Bluetooth Сеанс OBEX с помощью bluetooth-устройства и Bluetooth идентификатор канала RFCOMM.
Объявление
Swift
class func withDevice(_inDevice: IOBluetoothDevice!, channelIDinRFCOMMChannelID: BluetoothRFCOMMChannelID) -> Self!Objective C
+ (instancetype)withDevice:(IOBluetoothDevice *)inDevicechannelID:(BluetoothRFCOMMChannelID)inRFCOMMChannelIDПараметры
inDeviceДопустимое bluetooth-устройство, описывающее, с каким устройством Вы хотите соединиться с Bluetooth/OBEX.
inRFCOMMChannelIDИдентификатор канала RFCOMM numbe, который доступен на удаленном устройстве. Когда транспортное соединение будет опробовано, этот канал будет использоваться.
Обсуждение
Обратите внимание на то, что это НЕ означает, что транспортное соединение было открыто. Когда OBEXConnect будет вызван на объект сеанса, это будет открыто.
*IMPORTANT NOTE* В версии 1.0.0 платформы Bluetooth, сеанс возвратился, НЕ будет автовыпущен, как это должно быть согласно objc соглашению. Это было изменено, запустившись в версии 1.0.1 Bluetooth и позже, таким образом, это WILL быть автовыпущенным по возврату, таким образом, необходимо будет сохранить его, если Вы захотите сослаться на него позже.
Оператор импорта
Objective C
@import IOBluetooth;Swift
import IOBluetoothДоступность
Доступный в OS X v10.2 и позже.
См. также
withDevice -
withIncomingRFCOMMChannel (_: eventSelector:selectorTarget:refCon:) + withIncomingRFCOMMChannel:eventSelector:selectorTarget:refCon:Создает основанный на Bluetooth Сеанс OBEX с помощью поступления канал RFCOMM.
Объявление
Swift
class func withIncomingRFCOMMChannel(_inChannel: IOBluetoothRFCOMMChannel!, eventSelectorinEventSelector: Selector, selectorTargetinEventSelectorTarget: AnyObject!, refConinUserRefCon: UnsafeMutablePointer<Void>) -> Self!Objective C
+ (instancetype)withIncomingRFCOMMChannel:(IOBluetoothRFCOMMChannel *)inChanneleventSelector:(SEL)inEventSelectorselectorTarget:(id)inEventSelectorTargetrefCon:(void *)inUserRefConПараметры
inChannelКанал для использования для создания соединения с устройством.
inEventSelectorСелектор, который вызывают, когда событие имеет место на Сеансе OBEX.
inEventSelectorTargetОбъект, использующийся для вызова вышеупомянутого селектора.
inUserRefConСсылочная константа. Передайте то, чего Вы желаете - это будет возвращено Вам в селекторе.
Обсуждение
*IMPORTANT NOTE* В версии 1.0.0 платформы Bluetooth, сеанс возвратился, НЕ будет автовыпущен, как это должно быть согласно objc соглашению. Это было изменено, запустившись в версии 1.0.1 Bluetooth и позже, таким образом, это WILL быть автовыпущенным по возврату, таким образом, необходимо будет сохранить его, если Вы захотите сослаться на него позже.
Оператор импорта
Objective C
@import IOBluetooth;Swift
import IOBluetoothДоступность
Доступный в OS X v10.2 и позже.
См. также
withIncomingRFCOMMChannel -
Создает основанный на Bluetooth Сеанс OBEX с помощью служебной книжки SDP, обычно полученной из контроллера окна браузера устройства/службы.
Объявление
Swift
class func withSDPServiceRecord(_inSDPServiceRecord: IOBluetoothSDPServiceRecord!) -> Self!Objective C
+ (instancetype)withSDPServiceRecord:(IOBluetoothSDPServiceRecord *)inSDPServiceRecordПараметры
inSDPServiceRecordДопустимая служебная книжка SDP, описывающая службу (и канал RFCOMM), Вы хотите соединиться с с Bluetooth/OBEX.
Возвращаемое значение
Сеанс OBEX, представляющий канал device/rfcomm, найден в служебной книжке. ноль, если мы перестали работать.
Обсуждение
Обратите внимание на то, что это НЕ означает, что транспортное соединение было открыто. Когда OBEXConnect будет вызван на объект сеанса, это будет открыто.
*IMPORTANT NOTE* В версии 1.0.0 платформы Bluetooth, сеанс возвратился, НЕ будет автовыпущен, как это должно быть согласно objc соглашению. Это было изменено, запустившись в версии 1.0.1 Bluetooth и позже, таким образом, это WILL быть автовыпущенным по возврату, таким образом, необходимо будет сохранить его, если Вы захотите сослаться на него позже.
Оператор импорта
Objective C
@import IOBluetooth;Swift
import IOBluetoothДоступность
Доступный в OS X v10.2 и позже.
