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() -> OBEXError
Objective 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() -> Bool
Objective C
- (BOOL)hasOpenTransportConnection
Возвращаемое значение
Истина или ложь, существует ли уже открытое транспортное соединение для этого сеанса OBEX.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Инициализирует основанный на Bluetooth Сеанс OBEX с помощью bluetooth-устройства.
Объявление
Swift
init!(device
inDevice
: IOBluetoothDevice!, channelIDinChannelID
: BluetoothRFCOMMChannelID)Objective C
- (instancetype)initWithDevice:(IOBluetoothDevice *)
inDevice
channelID:(BluetoothRFCOMMChannelID)inChannelID
Параметры
inDevice
Bluetooth-устройство, на котором можно открыть 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!(incomingRFCOMMChannel
inChannelID
: IOBluetoothRFCOMMChannel!, eventSelectorinEventSelector
: Selector, selectorTargetinEventSelectorTarget
: AnyObject!, refConrefCon
: UnsafeMutablePointer<Void>)Objective C
- (instancetype)initWithIncomingRFCOMMChannel:(IOBluetoothRFCOMMChannel *)
inChannelID
eventSelector:(SEL)inEventSelector
selectorTarget:(id)inEventSelectorTarget
refCon:(void *)refCon
Параметры
inChannelID
Идентификатор канала RFCOMM требуемого канала, который будет использоваться.
inEventSelector
Селектор, который вызовут, когда получено событие.
inEventSelectorTarget
Целевой объект, которые получают селекторное сообщение.
refCon
постоянная ссылка вызывающей стороны, передайте то, что Вы хотите, она будет возвращена Вам в селекторе.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
См. также
initWithIncomingRFCOMMChannel
-
Инициализирует основанный на Bluetooth Сеанс OBEX с помощью служебной книжки SDP.
Объявление
Swift
init!(SDPServiceRecord
inSDPServiceRecord
: IOBluetoothSDPServiceRecord!)Objective C
- (instancetype)initWithSDPServiceRecord:(IOBluetoothSDPServiceRecord *)
inSDPServiceRecord
Параметры
inSDPServiceRecord
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Говорит, является ли целевым устройством Mac путем проверки его служебной книжки.
Объявление
Swift
func isSessionTargetAMac() -> Bool
Objective 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)
inSelector
selectorTarget:(id)inTarget
refCon:(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() -> IOReturn
Objective 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 *)
inDataToSend
dataLength:(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)
inCallback
refCon:(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)
inEventSelector
target:(id)inEventSelectorTarget
refCon:(id)inUserRefCon
Параметры
inEventSelector
Селектор для обращения к цели.
inEventSelectorTarget
Target, который вызовут с селектором.
inUserRefCon
refCon пользователя, который будет передан им, когда будет вызван их селектор.
Обсуждение
Вы не должны вызывать это на сеансе обычно, если Вы не разделили 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 *)
inDevice
channelID:(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 *)
inChannel
eventSelector:(SEL)inEventSelector
selectorTarget:(id)inEventSelectorTarget
refCon:(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 и позже.