OBEXSession
Объект, представляющий соединение OBEX с удаленной целью.
У Вас не будет потребности в получении/использовании необработанного OBEXSession, так как это требует, чтобы базовая передача сделала что-либо полезное. Однако, как только у Вас есть объект, который является подклассом этого класса, можно использовать функции в настоящем документе для управления этим OBEXSession. Прежде всего Вы захотите использовать OBEXConnect (если Вы будете клиентским сеансом) фактически заставить транспорт открывать соединение с удаленной целью и устанавливать соединение OBEX по нему. Оттуда можно дать больше команд на основе ответов от сервера.
Если Вы - сеанс сервера, первой вещью, которую необходимо получить, является пакет команды OBEXConnect, и Вы захотите выпустить пакет OBEXConnectResponse, с Вашим ответом на ту команду (успех, отклоненный, плохой запрос, и т.д.).
Можно использовать средства доступа сеанса для доступа к определенной информации, такой как согласованная макс. длина пакета.
Если Вы хотите реализовать свой собственный OBEXSession по транспорту, такому как Ethernet, то необходимо будет видеть конец файла для определения, какие функции переопределить, и что передать тем функциям.
Никакой механизм тайм-аута не был реализован до сих пор для OBEXSessions. При необходимости в тайм-аутах необходимо будет реализовать их сами. Это исследуется для будущей версии. Однако знайте, что Спецификация OBEX явно не требует тайм-аутов, так уверены, что Вы позволяете достаточному количеству времени для команд завершаться, поскольку некоторые устройства могут быть медленными при отправке больших объемов данных.
Наследование
-
NSObject
-
OBEXSession
-
IOBluetoothOBEXSession
-
NSObject
-
OBEXSession
-
IOBluetoothOBEXSession
Оператор импорта
Swift
import IOBluetooth
Objective C
@import IOBluetooth;
Доступность
Доступный в OS X v10.2 и позже.
-
Подклассы Tranport должны вызвать, это от их собственных данных - получает обработчики. Например, когда данные получены по Bluetooth канал RFCOMM в IOBluetoothOBEXSession, это поочередно вызывает это для диспетчеризации данных. Если Вы не обработаете этот случай, то Ваш сеанс сервера не будет работать, гарантируемый.
Объявление
Swift
func clientHandleIncomingData(_
event
: UnsafeMutablePointer<OBEXTransportEvent>)Objective C
- (void)clientHandleIncomingData:(OBEXTransportEvent *)
event
Параметры
event
Новое событие получено от транспорта.
Обсуждение
Подклассы Tranport должны вызвать это для клиентских сеансов OBEX для работы!
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Необходимо переопределить это - это вызовут, когда транспортное соединение должно будет быть завершением работы.
Объявление
Swift
func closeTransportConnection() -> OBEXError
Objective C
- (OBEXError)closeTransportConnection
Возвращаемое значение
Возвратитесь, было ли транспортное соединение закрыто успешно или нет. Возвратите OBEXSuccess (0) на успехе, иначе код ошибки.
Обсуждение
Подклассы Tranport должны переопределить это! Когда вызвано необходимо предпринять любые шаги, необходимы для фактического закрытия транспортного соединения.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Определите максимальную сумму данных, которые можно отправить в определенной команде как клиентский сеанс OBEX.
Объявление
Swift
func getAvailableCommandPayloadLength(_
inOpCode
: OBEXOpCode) -> OBEXMaxPacketLengthObjective C
- (OBEXMaxPacketLength)getAvailableCommandPayloadLength:(OBEXOpCode)
inOpCode
Параметры
inOpCode
Код операции Вы интересуетесь отправкой (как клиент).
Возвращаемое значение
Максимальная сумма данных определенный пакет может обработать после учета любой команды наверху.
Обсуждение
Каждая Команда OBEX имеет определенную сумму издержек. Так как согласованная макс. длина пакета не указывает то, что составляют максимальные данные, можно отправить в пакете определенной команды, можно использовать эту функцию для определения сколько данных для обеспечения в дополнительных заголовках или заголовках данных организации.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Определите максимальную сумму данных, которые можно отправить в определенном ответе команды как сеанс сервера OBEX.
Объявление
Swift
func getAvailableCommandResponsePayloadLength(_
inOpCode
: OBEXOpCode) -> OBEXMaxPacketLengthObjective C
- (OBEXMaxPacketLength)getAvailableCommandResponsePayloadLength:(OBEXOpCode)
inOpCode
Параметры
inOpCode
Код операции Вы интересуетесь ответом к (как сервер).
Возвращаемое значение
Максимальная сумма данных определенный пакет может обработать после учета любого ответа команды наверху.
Обсуждение
Каждый ответ Команды OBEX имеет определенную сумму издержек. Так как согласованная макс. длина пакета не указывает то, что составляют максимальные данные, можно отправить в пакете определенного ответа, можно использовать эту функцию для определения сколько данных для обеспечения в дополнительных заголовках или заголовках данных организации.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Получает текущую макс. длину пакета.
Объявление
Swift
func getMaxPacketLength() -> OBEXMaxPacketLength
Objective C
- (OBEXMaxPacketLength)getMaxPacketLength
Возвращаемое значение
Макс. длина пакета.
Обсуждение
Это значение *могло* изменение прежде и после того, как команда подключения была отправлена, или ответ команды подключения был получен, так как получатель мог согласовать более низкий максимальный размер пакета.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Успешный пакет подключения был отправлен и получен? Этот API говорит Вам так.
Объявление
Swift
func hasOpenOBEXConnection() -> Bool
Objective C
- (BOOL)hasOpenOBEXConnection
Возвращаемое значение
Истина или ложь, мы OBEX-подключены к другому объекту OBEX.
Обсуждение
«Транспортное» соединение может существовать (такие как основополосное соединение Bluetooth), но соединение OBEX не может быть установлено по тому транспорту. Если это было, эта функция возвращает true.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Необходимо переопределить это - это будут вызывать периодически, чтобы определить, открыто ли транспортное соединение или нет.
Объявление
Swift
func hasOpenTransportConnection() -> Boolean
Objective C
- (Boolean)hasOpenTransportConnection
Возвращаемое значение
Возвратитесь, открыто ли транспортное соединение все еще.
Обсуждение
Подклассы Tranport должны переопределить это! Если транспортное соединение все еще открыто или нет, когда вызвано Вы просто возвращаетесь.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
OBEXAbort (_: optionalHeadersLength:eventSelector:selectorTarget:refCon:) - OBEXAbort:optionalHeadersLength:eventSelector:selectorTarget:refCon:
Отправьте команду OBEX Abort в цель сеанса.
Объявление
Swift
func OBEXAbort(_
inOptionalHeaders
: UnsafeMutablePointer<Void>, optionalHeadersLengthinOptionalHeadersLength
: UInt, eventSelectorinSelector
: Selector, selectorTargetinTarget
: AnyObject!, refConinUserRefCon
: UnsafeMutablePointer<Void>) -> OBEXErrorObjective C
- (OBEXError)OBEXAbort:(void *)
inOptionalHeaders
optionalHeadersLength:(size_t)inOptionalHeadersLength
eventSelector:(SEL)inSelector
selectorTarget:(id)inTarget
refCon:(void *)inUserRefCon
Параметры
inOptionalHeaders
Может быть NULL. Ptr к некоторым данным Вы хотите отправить как Ваши дополнительные заголовки. Используйте предоставленный заголовок contruction набор в OBEX.h и OBEXHeadersToBytes () для удобства.
inOptionalHeadersLength
Длина данных в ptr передала в вышеупомянутом.
inSelector
Селектор VALID, который вызовут, когда что-то интересное происходит вследствие этого вызова. Селектор в Вашем целевом объекте, MUST имеет следующую подпись, или ее не вызовут должным образом (ищите сообщения об ошибках в Console.app):
- (недействительный) OBEXAbortHandler: (константа OBEXSessionEvent*) inSessionEvent;
inTarget
Целевой объект VALID для селектора.
inUserRefCon
Независимо от того, что Вы хотите передать сюда. Это будет пасоваться назад Вам в refCon части структуры OBEXSessionEvent. нолем является, конечно, OK здесь.
Обсуждение
Селектор NULL или цель приведут к ошибке. После возврата данные передали в, будет отправлен по транспорту. Вы получите ответ на свою команду на Вашем селекторе.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
См. также
OBEXAbort
-
OBEXAbortResponse (_: optionalHeaders:optionalHeadersLength:eventSelector:selectorTarget:refCon:) - OBEXAbortResponse:optionalHeaders:optionalHeadersLength:eventSelector:selectorTarget:refCon:
Отправьте ответ аварийного прекращения работы на цель сеанса.
Объявление
Swift
func OBEXAbortResponse(_
inMaxPacketLength
: OBEXOpCode, optionalHeadersinOptionalHeaders
: UnsafeMutablePointer<Void>, optionalHeadersLengthinOptionalHeadersLength
: UInt, eventSelectorinSelector
: Selector, selectorTargetinTarget
: AnyObject!, refConinUserRefCon
: UnsafeMutablePointer<Void>) -> OBEXErrorObjective C
- (OBEXError)OBEXAbortResponse:(OBEXOpCode)
inMaxPacketLength
optionalHeaders:(void *)inOptionalHeaders
optionalHeadersLength:(size_t)inOptionalHeadersLength
eventSelector:(SEL)inSelector
selectorTarget:(id)inTarget
refCon:(void *)inUserRefCon
Параметры
inMaxPacketLength
Максимальный размер пакета Вы хотите, чтобы Ваш сеанс OBEX связался с. Этот MUST быть ниже, чем максимальный размер пакета, клиент сообщил Вам в команде подключения, что Вы получили от него.
inOptionalHeaders
Может быть NULL. Ptr к некоторым данным Вы хотите отправить как Ваши дополнительные заголовки. Используйте предоставленный заголовок contruction набор в OBEX.h и OBEXHeadersToBytes () для удобства.
inOptionalHeadersLength
Длина данных в ptr передала в вышеупомянутом.
inSelector
Селектор VALID, который вызовут, когда что-то интересное происходит вследствие этого вызова. Селектор в Вашем целевом объекте, MUST имеет следующую подпись, или ее не вызовут должным образом (ищите сообщения об ошибках в Console.app):
- (недействительный) OBEXAbortResponseHandler: (константа OBEXSessionEvent*) inSessionEvent;
inTarget
Целевой объект VALID для селектора.
inUserRefCon
Независимо от того, что Вы хотите передать сюда. Это будет пасоваться назад Вам в refCon части структуры OBEXSessionEvent. нолем является, конечно, OK здесь.
Обсуждение
Селектор NULL или цель приведут к ошибке. После возврата данные передали в, будет отправлен по базовому транспорту OBEX. Вы получите любые ответы на свой ответ команды на Вашем селекторе.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
См. также
OBEXAbortResponse
-
OBEXConnect (_: maxPacketLength:optionalHeaders:optionalHeadersLength:eventSelector:selectorTarget:refCon:) - OBEXConnect:maxPacketLength:optionalHeaders:optionalHeadersLength:eventSelector:selectorTarget:refCon:
Инициируйте соединение OBEX с устройством. Базовая передача причин (Bluetooth, и др.), чтобы попытаться соединиться с удаленным устройством. После успеха пакет подключения OBEX отправляется для установления Соединения OBEX.
Объявление
Swift
func OBEXConnect(_
inFlags
: OBEXFlags, maxPacketLengthinMaxPacketLength
: OBEXMaxPacketLength, optionalHeadersinOptionalHeaders
: UnsafeMutablePointer<Void>, optionalHeadersLengthinOptionalHeadersLength
: UInt, eventSelectorinSelector
: Selector, selectorTargetinTarget
: AnyObject!, refConinUserRefCon
: UnsafeMutablePointer<Void>) -> OBEXErrorObjective C
- (OBEXError)OBEXConnect:(OBEXFlags)
inFlags
maxPacketLength:(OBEXMaxPacketLength)inMaxPacketLength
optionalHeaders:(void *)inOptionalHeaders
optionalHeadersLength:(size_t)inOptionalHeadersLength
eventSelector:(SEL)inSelector
selectorTarget:(id)inTarget
refCon:(void *)inUserRefCon
Параметры
inFlags
OBEX соединяют флаги. См. OBEX.h для возможностей.
inMaxPacketLength
Максимальный размер пакета Вы хотите поддерживать. Может быть согласован вниз, в зависимости от целевого устройства.
inOptionalHeaders
Может быть NULL. Ptr к некоторым данным Вы хотите отправить как Ваши дополнительные заголовки. Используйте предоставленный заголовок contruction набор в OBEX.h и OBEXHeadersToBytes () для удобства.
inOptionalHeadersLength
Длина данных в ptr передала в вышеупомянутом.
inSelector
Селектор VALID, который вызовут, когда что-то интересное происходит вследствие этого вызова. Селектор в Вашем целевом объекте, MUST имеет следующую подпись, или ее не вызовут должным образом (ищите сообщения об ошибках в Console.app):
- (недействительный) OBEXConnectHandler: (константа OBEXSessionEvent*) inSessionEvent;
inTarget
Целевой объект VALID для селектора.
inUserRefCon
Независимо от того, что Вы хотите передать сюда. Это будет пасоваться назад Вам в refCon части структуры OBEXSessionEvent. нолем является, конечно, OK здесь.
Обсуждение
Селектор NULL или цель приведут к ошибке. После возврата данные передали в, будет отправлен по транспорту. Вы получите ответ на свою команду на Вашем селекторе. Если Вы уже установили соединение OBEX, и Вы вызываете это снова, Вы получите 'kOBEXSessionAlreadyConnectedError' в результате.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
См. также
OBEXConnect
-
OBEXConnectResponse (_: flags:maxPacketLength:optionalHeaders:optionalHeadersLength:eventSelector:selectorTarget:refCon:) - OBEXConnectResponse:flags:maxPacketLength:optionalHeaders:optionalHeadersLength:eventSelector:selectorTarget:refCon:
Отправьте ответ подключения на цель сеанса.
Объявление
Swift
func OBEXConnectResponse(_
inFlags
: OBEXOpCode, flagsinConstants
: OBEXFlags, maxPacketLengthinMaxPacketLength
: OBEXMaxPacketLength, optionalHeadersinOptionalHeaders
: UnsafeMutablePointer<Void>, optionalHeadersLengthinOptionalHeadersLength
: UInt, eventSelectorinSelector
: Selector, selectorTargetinTarget
: AnyObject!, refConinUserRefCon
: UnsafeMutablePointer<Void>) -> OBEXErrorObjective C
- (OBEXError)OBEXConnectResponse:(OBEXOpCode)
inFlags
flags:(OBEXFlags)inConstants
maxPacketLength:(OBEXMaxPacketLength)inMaxPacketLength
optionalHeaders:(void *)inOptionalHeaders
optionalHeadersLength:(size_t)inOptionalHeadersLength
eventSelector:(SEL)inSelector
selectorTarget:(id)inTarget
refCon:(void *)inUserRefCon
Параметры
inFlags
OBEX соединяют флаги. См. OBEX.h для возможностей.
inConstants
OBEX соединяют константы. См. OBEX.h для возможностей.
inMaxPacketLength
Максимальный размер пакета Вы хотите, чтобы Ваш сеанс OBEX связался с. Этот MUST быть ниже, чем максимальный размер пакета, клиент сообщил Вам в команде подключения, что Вы получили от него.
inOptionalHeaders
Может быть NULL. Ptr к некоторым данным Вы хотите отправить как Ваши дополнительные заголовки. Используйте предоставленный заголовок contruction набор в OBEX.h и OBEXHeadersToBytes () для удобства.
inOptionalHeadersLength
Длина данных в ptr передала в вышеупомянутом.
inSelector
Селектор VALID, который вызовут, когда что-то интересное происходит вследствие этого вызова. Селектор в Вашем целевом объекте, MUST имеет следующую подпись, или ее не вызовут должным образом (ищите сообщения об ошибках в Console.app):
- (недействительный) OBEXConnectResponseHandler: (константа OBEXSessionEvent*) inSessionEvent;
inTarget
Целевой объект VALID для селектора.
inUserRefCon
Независимо от того, что Вы хотите передать сюда. Это будет пасоваться назад Вам в refCon части структуры OBEXSessionEvent. нолем является, конечно, OK здесь.
Обсуждение
Селектор NULL или цель приведут к ошибке. После возврата данные передали в, будет отправлен по базовому транспорту OBEX. Вы получите любые ответы на свой ответ команды на Вашем селекторе.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
См. также
OBEXConnectResponse
-
OBEXDisconnect (_: optionalHeadersLength:eventSelector:selectorTarget:refCon:) - OBEXDisconnect:optionalHeadersLength:eventSelector:selectorTarget:refCon:
Отправьте Команду разъединения OBEX в цель сеанса. THIS не обязательно закрывает соединение базовой передачи. Удаление сеанса гарантирует то закрытие.
Объявление
Swift
func OBEXDisconnect(_
inOptionalHeaders
: UnsafeMutablePointer<Void>, optionalHeadersLengthinOptionalHeadersLength
: UInt, eventSelectorinSelector
: Selector, selectorTargetinTarget
: AnyObject!, refConinUserRefCon
: UnsafeMutablePointer<Void>) -> OBEXErrorObjective C
- (OBEXError)OBEXDisconnect:(void *)
inOptionalHeaders
optionalHeadersLength:(size_t)inOptionalHeadersLength
eventSelector:(SEL)inSelector
selectorTarget:(id)inTarget
refCon:(void *)inUserRefCon
Параметры
inOptionalHeaders
Может быть NULL. Ptr к некоторым данным Вы хотите отправить как Ваши дополнительные заголовки. Используйте предоставленный заголовок contruction набор в OBEX.h и OBEXHeadersToBytes () для удобства.
inOptionalHeadersLength
Длина данных в ptr передала в вышеупомянутом.
inSelector
Селектор VALID, который вызовут, когда что-то интересное происходит вследствие этого вызова. Селектор в Вашем целевом объекте, MUST имеет следующую подпись, или ее не вызовут должным образом (ищите сообщения об ошибках в Console.app):
- (недействительный) OBEXDisconnectHandler: (константа OBEXSessionEvent*) inSessionEvent;
inTarget
Целевой объект VALID для селектора.
inUserRefCon
Независимо от того, что Вы хотите передать сюда. Это будет пасоваться назад Вам в refCon части структуры OBEXSessionEvent. нолем является, конечно, OK здесь.
Обсуждение
Селектор NULL или цель приведут к ошибке. После возврата данные передали в, будет отправлен по транспорту. Вы получите ответ на свою команду на Вашем селекторе. Бойтесь превышать макс. длину пакета в своих дополнительных заголовках, или Ваша команда будет отклонена. Рекомендуется вызвать getMaxPacketLength на сеансе прежде, чем дать эту команду, таким образом, Вы знаете, сколько данных цель сеанса примет в единственной транзакции.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
См. также
OBEXDisconnect
-
OBEXDisconnectResponse (_: optionalHeaders:optionalHeadersLength:eventSelector:selectorTarget:refCon:) - OBEXDisconnectResponse:optionalHeaders:optionalHeadersLength:eventSelector:selectorTarget:refCon:
Отправьте ответ разъединения на цель сеанса.
Объявление
Swift
func OBEXDisconnectResponse(_
inMaxPacketLength
: OBEXOpCode, optionalHeadersinOptionalHeaders
: UnsafeMutablePointer<Void>, optionalHeadersLengthinOptionalHeadersLength
: UInt, eventSelectorinSelector
: Selector, selectorTargetinTarget
: AnyObject!, refConinUserRefCon
: UnsafeMutablePointer<Void>) -> OBEXErrorObjective C
- (OBEXError)OBEXDisconnectResponse:(OBEXOpCode)
inMaxPacketLength
optionalHeaders:(void *)inOptionalHeaders
optionalHeadersLength:(size_t)inOptionalHeadersLength
eventSelector:(SEL)inSelector
selectorTarget:(id)inTarget
refCon:(void *)inUserRefCon
Параметры
inMaxPacketLength
Максимальный размер пакета Вы хотите, чтобы Ваш сеанс OBEX связался с. Этот MUST быть ниже, чем максимальный размер пакета, клиент сообщил Вам в команде подключения, что Вы получили от него.
inOptionalHeaders
Может быть NULL. Ptr к некоторым данным Вы хотите отправить как Ваши дополнительные заголовки. Используйте предоставленный заголовок contruction набор в OBEX.h и OBEXHeadersToBytes () для удобства.
inOptionalHeadersLength
Длина данных в ptr передала в вышеупомянутом.
inSelector
Селектор VALID, который вызовут, когда что-то интересное происходит вследствие этого вызова. Селектор в Вашем целевом объекте, MUST имеет следующую подпись, или ее не вызовут должным образом (ищите сообщения об ошибках в Console.app):
- (недействительный) OBEXDisconnectResponseHandler: (константа OBEXSessionEvent*) inSessionEvent;
inTarget
Целевой объект VALID для селектора.
inUserRefCon
Независимо от того, что Вы хотите передать сюда. Это будет пасоваться назад Вам в refCon части структуры OBEXSessionEvent. нолем является, конечно, OK здесь.
Обсуждение
Селектор NULL или цель приведут к ошибке. После возврата данные передали в, будет отправлен по базовому транспорту OBEX. Вы получите любые ответы на свой ответ команды на Вашем селекторе.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
См. также
OBEXDisconnectResponse
-
OBEXGet (_: headers:headersLength:eventSelector:selectorTarget:refCon:) - OBEXGet:headers:headersLength:eventSelector:selectorTarget:refCon:
Отправьте команду OBEX Get в цель сеанса.
Объявление
Swift
func OBEXGet(_
isFinalChunk
: Boolean, headersinHeadersData
: UnsafeMutablePointer<Void>, headersLengthinHeadersDataLength
: UInt, eventSelectorinSelector
: Selector, selectorTargetinTarget
: AnyObject!, refConinUserRefCon
: UnsafeMutablePointer<Void>) -> OBEXErrorObjective C
- (OBEXError)OBEXGet:(Boolean)
isFinalChunk
headers:(void *)inHeadersData
headersLength:(size_t)inHeadersDataLength
eventSelector:(SEL)inSelector
selectorTarget:(id)inTarget
refCon:(void *)inUserRefCon
Параметры
isFinalChunk
Укажите, завершен ли этот запрос в одном выстреле - что все заголовки, Вы являетесь поставляющими, впишутся в согласованную макс. длину пакета.
inHeadersData
Может быть NULL. Ptr к некоторым данным Вы хотите отправить как Ваши заголовки, такие как Длина, Имя, и т.д. Используйте предоставленный заголовок contruction набор в OBEX.h и OBEXHeadersToBytes () для Вашего удобства.
inHeadersDataLength
Длина данных в ptr передала в вышеупомянутом.
inSelector
Селектор VALID, который вызовут, когда что-то интересное происходит вследствие этого вызова. Селектор в Вашем целевом объекте, MUST имеет следующую подпись, или ее не вызовут должным образом (ищите сообщения об ошибках в Console.app):
- (недействительный) OBEXGetHandler: (константа OBEXSessionEvent*) inSessionEvent;
inTarget
Целевой объект VALID для селектора.
inUserRefCon
Независимо от того, что Вы хотите передать сюда. Это будет пасоваться назад Вам в refCon части структуры OBEXSessionEvent. нолем является, конечно, OK здесь.
Обсуждение
Селектор NULL или цель приведут к ошибке. После возврата данные передали в, будет отправлен по транспорту. Вы получите ответ на свою команду на Вашем селекторе.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
См. также
OBEXGet
-
OBEXGetResponse (_: optionalHeaders:optionalHeadersLength:eventSelector:selectorTarget:refCon:) - OBEXGetResponse:optionalHeaders:optionalHeadersLength:eventSelector:selectorTarget:refCon:
Отправьте получить ответ на цель сеанса.
Объявление
Swift
func OBEXGetResponse(_
inMaxPacketLength
: OBEXOpCode, optionalHeadersinOptionalHeaders
: UnsafeMutablePointer<Void>, optionalHeadersLengthinOptionalHeadersLength
: UInt, eventSelectorinSelector
: Selector, selectorTargetinTarget
: AnyObject!, refConinUserRefCon
: UnsafeMutablePointer<Void>) -> OBEXErrorObjective C
- (OBEXError)OBEXGetResponse:(OBEXOpCode)
inMaxPacketLength
optionalHeaders:(void *)inOptionalHeaders
optionalHeadersLength:(size_t)inOptionalHeadersLength
eventSelector:(SEL)inSelector
selectorTarget:(id)inTarget
refCon:(void *)inUserRefCon
Параметры
inMaxPacketLength
Максимальный размер пакета Вы хотите, чтобы Ваш сеанс OBEX связался с. Этот MUST быть ниже, чем максимальный размер пакета, клиент сообщил Вам в команде подключения, что Вы получили от него.
inOptionalHeaders
Может быть NULL. Ptr к некоторым данным Вы хотите отправить как Ваши дополнительные заголовки. Используйте предоставленный заголовок contruction набор в OBEX.h и OBEXHeadersToBytes () для удобства.
inOptionalHeadersLength
Длина данных в ptr передала в вышеупомянутом.
inSelector
Селектор VALID, который вызовут, когда что-то интересное происходит вследствие этого вызова. Селектор в Вашем целевом объекте, MUST имеет следующую подпись, или ее не вызовут должным образом (ищите сообщения об ошибках в Console.app):
- (недействительный) OBEXGetResponseHandler: (константа OBEXSessionEvent*) inSessionEvent;
inTarget
Целевой объект VALID для селектора.
inUserRefCon
Независимо от того, что Вы хотите передать сюда. Это будет пасоваться назад Вам в refCon части структуры OBEXSessionEvent. нолем является, конечно, OK здесь.
Обсуждение
Селектор NULL или цель приведут к ошибке. После возврата данные передали в, будет отправлен по базовому транспорту OBEX. Вы получите любые ответы на свой ответ команды на Вашем селекторе.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
См. также
OBEXGetResponse
-
OBEXPut (_: headersData:headersDataLength:bodyData:bodyDataLength:eventSelector:selectorTarget:refCon:) - OBEXPut:headersData:headersDataLength:bodyData:bodyDataLength:eventSelector:selectorTarget:refCon:
Отправьте команду OBEX Put в цель сеанса.
Объявление
Swift
func OBEXPut(_
isFinalChunk
: Boolean, headersDatainHeadersData
: UnsafeMutablePointer<Void>, headersDataLengthinHeadersDataLength
: UInt, bodyDatainBodyData
: UnsafeMutablePointer<Void>, bodyDataLengthinBodyDataLength
: UInt, eventSelectorinSelector
: Selector, selectorTargetinTarget
: AnyObject!, refConinUserRefCon
: UnsafeMutablePointer<Void>) -> OBEXErrorObjective C
- (OBEXError)OBEXPut:(Boolean)
isFinalChunk
headersData:(void *)inHeadersData
headersDataLength:(size_t)inHeadersDataLength
bodyData:(void *)inBodyData
bodyDataLength:(size_t)inBodyDataLength
eventSelector:(SEL)inSelector
selectorTarget:(id)inTarget
refCon:(void *)inUserRefCon
Параметры
isFinalChunk
Укажите, завершен ли этот запрос в одном выстреле - что все заголовки, Вы являетесь поставляющими, впишутся в согласованную макс. длину пакета.
inHeadersData
Может быть NULL. Ptr к некоторым данным Вы хотите отправить как Ваши заголовки, такие как Длина, Имя, и т.д. Используйте предоставленный заголовок contruction набор в OBEX.h и OBEXHeadersToBytes () для удобства.
inHeadersDataLength
Длина данных в ptr передала в вышеупомянутом.
inBodyData
Может быть NULL. Ptr к некоторым данным Вы хотите отправить как Ваш заголовок BODY. Не создавайте реальный заголовок OBEX здесь, он будет сделан для Вас - просто передают указатель на Ваши данные, мы сделаем остальных. ОДНАКО знайте, что немного служебные (3 байта) будут добавлены к данным в построении заголовка BODY для Вас.
inBodyDataLength
Длина данных в ptr передала в вышеупомянутом.
inSelector
Селектор VALID, который вызовут, когда что-то интересное происходит вследствие этого вызова. Селектор в Вашем целевом объекте, MUST имеет следующую подпись, или ее не вызовут должным образом (ищите сообщения об ошибках в Console.app):
- (недействительный) OBEXPutHandler: (константа OBEXSessionEvent*) inSessionEvent;
inTarget
Целевой объект VALID для селектора.
inUserRefCon
Независимо от того, что Вы хотите передать сюда. Это будет пасоваться назад Вам в refCon части структуры OBEXSessionEvent. нолем является, конечно, OK здесь.
Обсуждение
Селектор NULL или цель приведут к ошибке. После возврата данные передали в, будет отправлен по транспорту. Вы получите ответ на свою команду на Вашем селекторе.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
См. также
OBEXPut
-
OBEXPutResponse (_: optionalHeaders:optionalHeadersLength:eventSelector:selectorTarget:refCon:) - OBEXPutResponse:optionalHeaders:optionalHeadersLength:eventSelector:selectorTarget:refCon:
Отправьте помещенный ответ на цель сеанса.
Объявление
Swift
func OBEXPutResponse(_
inMaxPacketLength
: OBEXOpCode, optionalHeadersinOptionalHeaders
: UnsafeMutablePointer<Void>, optionalHeadersLengthinOptionalHeadersLength
: UInt, eventSelectorinSelector
: Selector, selectorTargetinTarget
: AnyObject!, refConinUserRefCon
: UnsafeMutablePointer<Void>) -> OBEXErrorObjective C
- (OBEXError)OBEXPutResponse:(OBEXOpCode)
inMaxPacketLength
optionalHeaders:(void *)inOptionalHeaders
optionalHeadersLength:(size_t)inOptionalHeadersLength
eventSelector:(SEL)inSelector
selectorTarget:(id)inTarget
refCon:(void *)inUserRefCon
Параметры
inMaxPacketLength
Максимальный размер пакета Вы хотите, чтобы Ваш сеанс OBEX связался с. Этот MUST быть ниже, чем максимальный размер пакета, клиент сообщил Вам в команде подключения, что Вы получили от него.
inOptionalHeaders
Может быть NULL. Ptr к некоторым данным Вы хотите отправить как Ваши дополнительные заголовки. Используйте предоставленный заголовок contruction набор в OBEX.h и OBEXHeadersToBytes () для удобства.
inOptionalHeadersLength
Длина данных в ptr передала в вышеупомянутом.
inSelector
Селектор VALID, который вызовут, когда что-то интересное происходит вследствие этого вызова. Селектор в Вашем целевом объекте, MUST имеет следующую подпись, или ее не вызовут должным образом (ищите сообщения об ошибках в Console.app):
- (недействительный) OBEXPutResponseHandler: (константа OBEXSessionEvent*) inSessionEvent;
inTarget
Целевой объект VALID для селектора.
inUserRefCon
Независимо от того, что Вы хотите передать сюда. Это будет пасоваться назад Вам в refCon части структуры OBEXSessionEvent. нолем является, конечно, OK здесь.
Обсуждение
Селектор NULL или цель приведут к ошибке. После возврата данные передали в, будет отправлен по базовому транспорту OBEX. Вы получите любые ответы на свой ответ команды на Вашем селекторе.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
См. также
OBEXPutResponse
-
OBEXSetPath (_: constants:optionalHeaders:optionalHeadersLength:eventSelector:selectorTarget:refCon:) - OBEXSetPath:constants:optionalHeaders:optionalHeadersLength:eventSelector:selectorTarget:refCon:
Отправьте команду OBEX SetPath в цель сеанса.
Объявление
Swift
func OBEXSetPath(_
inFlags
: OBEXFlags, constantsinConstants
: OBEXConstants, optionalHeadersinOptionalHeaders
: UnsafeMutablePointer<Void>, optionalHeadersLengthinOptionalHeadersLength
: UInt, eventSelectorinSelector
: Selector, selectorTargetinTarget
: AnyObject!, refConinUserRefCon
: UnsafeMutablePointer<Void>) -> OBEXErrorObjective C
- (OBEXError)OBEXSetPath:(OBEXFlags)
inFlags
constants:(OBEXConstants)inConstants
optionalHeaders:(void *)inOptionalHeaders
optionalHeadersLength:(size_t)inOptionalHeadersLength
eventSelector:(SEL)inSelector
selectorTarget:(id)inTarget
refCon:(void *)inUserRefCon
Параметры
inFlags
OBEX setpath флаги. См. OBEX.h для возможностей.
inConstants
OBEX setpath константы. См. OBEX.h для возможностей.
inOptionalHeaders
Может быть NULL. Ptr к некоторым данным Вы хотите отправить как Ваши дополнительные заголовки. Используйте предоставленный заголовок contruction набор в OBEX.h и OBEXHeadersToBytes () для удобства.
inOptionalHeadersLength
Длина данных в ptr передала в вышеупомянутом.
inSelector
Селектор VALID, который вызовут, когда что-то интересное происходит вследствие этого вызова. Селектор в Вашем целевом объекте, MUST имеет следующую подпись, или ее не вызовут должным образом (ищите сообщения об ошибках в Console.app):
- (недействительный) OBEXSetPathHandler: (константа OBEXSessionEvent*) inSessionEvent;
inTarget
Целевой объект VALID для селектора.
inUserRefCon
Независимо от того, что Вы хотите передать сюда. Это будет пасоваться назад Вам в refCon части структуры OBEXSessionEvent. нолем является, конечно, OK здесь.
Обсуждение
Селектор NULL или цель приведут к ошибке. После возврата данные передали в, будет отправлен по транспорту. Вы получите ответ на свою команду на Вашем селекторе.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
См. также
OBEXSetPath
-
OBEXSetPathResponse (_: optionalHeaders:optionalHeadersLength:eventSelector:selectorTarget:refCon:) - OBEXSetPathResponse:optionalHeaders:optionalHeadersLength:eventSelector:selectorTarget:refCon:
Отправьте ответ пути набора на цель сеанса.
Объявление
Swift
func OBEXSetPathResponse(_
inMaxPacketLength
: OBEXOpCode, optionalHeadersinOptionalHeaders
: UnsafeMutablePointer<Void>, optionalHeadersLengthinOptionalHeadersLength
: UInt, eventSelectorinSelector
: Selector, selectorTargetinTarget
: AnyObject!, refConinUserRefCon
: UnsafeMutablePointer<Void>) -> OBEXErrorObjective C
- (OBEXError)OBEXSetPathResponse:(OBEXOpCode)
inMaxPacketLength
optionalHeaders:(void *)inOptionalHeaders
optionalHeadersLength:(size_t)inOptionalHeadersLength
eventSelector:(SEL)inSelector
selectorTarget:(id)inTarget
refCon:(void *)inUserRefCon
Параметры
inMaxPacketLength
Максимальный размер пакета Вы хотите, чтобы Ваш сеанс OBEX связался с. Этот MUST быть ниже, чем максимальный размер пакета, клиент сообщил Вам в команде подключения, что Вы получили от него.
inOptionalHeaders
Может быть NULL. Ptr к некоторым данным Вы хотите отправить как Ваши дополнительные заголовки. Используйте предоставленный заголовок contruction набор в OBEX.h и OBEXHeadersToBytes () для удобства.
inOptionalHeadersLength
Длина данных в ptr передала в вышеупомянутом.
inSelector
Селектор VALID, который вызовут, когда что-то интересное происходит вследствие этого вызова. Селектор в Вашем целевом объекте, MUST имеет следующую подпись, или ее не вызовут должным образом (ищите сообщения об ошибках в Console.app):
- (недействительный) OBEXSetPathResponseHandler: (константа OBEXSessionEvent*) inSessionEvent;
inTarget
Целевой объект VALID для селектора.
inUserRefCon
Независимо от того, что Вы хотите передать сюда. Это будет пасоваться назад Вам в refCon части структуры OBEXSessionEvent. нолем является, конечно, OK здесь.
Обсуждение
Селектор NULL или цель приведут к ошибке. После возврата данные передали в, будет отправлен по базовому транспорту OBEX. Вы получите любые ответы на свой ответ команды на Вашем селекторе.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
См. также
OBEXSetPathResponse
-
openTransportConnection (_: selectorTarget:refCon:) - openTransportConnection:selectorTarget:refCon:
Открывает транспортное соединение для устройства. Подключение Bluetooth является одним примером транспорта.
Объявление
Swift
func openTransportConnection(_
inSelector
: Selector, selectorTargetinTarget
: AnyObject!, refConinUserRefCon
: UnsafeMutablePointer<Void>) -> OBEXErrorObjective C
- (OBEXError)openTransportConnection:(SEL)
inSelector
selectorTarget:(id)inTarget
refCon:(void *)inUserRefCon
Параметры
inSelector
Селектор для требования к успеху, отказу или тайм-ауту.
inTarget
Target, на котором можно вызвать селектор.
inUserRefCon
Ссылочная константа вызывающей стороны.
Обсуждение
Подклассы Tranport должны переопределить это! когда вызвано необходимо попытаться открыть транспортное соединение, и если Вы успешны, возвратите kOBEXSuccess, иначе интересный код ошибки.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
См. также
openTransportConnection
-
Необходимо переопределить это для отправки данных по транспорту. Это ничего не делает по умолчанию, это возвратит kOBEXUnsupportedError.
Объявление
Swift
func sendDataToTransport(_
inDataToSend
: UnsafeMutablePointer<Void>, dataLengthinDataLength
: UInt) -> OBEXErrorObjective C
- (OBEXError)sendDataToTransport:(void *)
inDataToSend
dataLength:(size_t)inDataLength
Параметры
inDataToSend
Данные для пиханий по транспорту к удаленному сеансу OBEX.
inDataLength
Длина данных передала в.
Обсуждение
Подклассы Tranport должны переопределить это! Когда вызвано необходимо отправить данные по транспорту к удаленному сеансу.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
См. также
sendDataToTransport
-
Подклассы Tranport должны вызвать, это от их собственных данных - получает обработчики. Например, когда данные получены по Bluetooth канал RFCOMM в IOBluetoothOBEXSession, это поочередно вызывает это для диспетчеризации данных. Если Вы не обработаете этот случай, то Ваш сеанс сервера не будет работать, гарантируемый.
Объявление
Swift
func serverHandleIncomingData(_
event
: UnsafeMutablePointer<OBEXTransportEvent>)Objective C
- (void)serverHandleIncomingData:(OBEXTransportEvent *)
event
Параметры
event
Новое событие получено от транспорта.
Обсуждение
Подклассы Tranport должны вызвать это для сеансов сервера OBEX для работы!
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Когда сеанс получает данные, устанавливает обратный вызов C-API, используемый.
Объявление
Swift
func setEventCallback(_
inEventCallback
: OBEXSessionEventCallback)Objective C
- (void)setEventCallback:(OBEXSessionEventCallback)
inEventCallback
Параметры
inEventCallback
Функция к обратному вызову. Должен быть не-NULL, если Вы не пытаетесь очистить обратный вызов, но делаете, который не имеет большого количества смысла.
Обсуждение
Это действительно не предназначается для клиентских сеансов. Только подклассы действительно интересовались бы использованием этого. Они должны установить их, когда их объект подкласса создается, потому что иначе у них не будет способа получить начальный пакет данных команды. Это - партнер к setEventRefCon, описанному ниже.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Когда сеанс получает данные, устанавливает обратный вызов C-API refCon используемый.
Объявление
Swift
func setEventRefCon(_
inRefCon
: UnsafeMutablePointer<Void>)Objective C
- (void)setEventRefCon:(void *)
inRefCon
Параметры
inRefCon
refCon пользователя, который будет передан, когда будет вызван их обратный вызов события.
Обсуждение
Это действительно не предназначается для клиентских сеансов. Только подклассы действительно интересовались бы использованием этого. Они должны установить их, когда их объект подкласса создается, потому что иначе у них не будет контекста в их обратном вызове.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Позвольте Вам устанавливать селектор, который вызовут, когда события будут иметь место на сеансе OBEX.
Объявление
Swift
func setEventSelector(_
inEventSelector
: Selector, targetinEventSelectorTarget
: AnyObject!, refConinUserRefCon
: AnyObject!)Objective C
- (void)setEventSelector:(SEL)
inEventSelector
target:(id)inEventSelectorTarget
refCon:(id)inUserRefCon
Параметры
inEventSelector
Селектор для обращения к цели.
inEventSelectorTarget
Target, который вызовут с селектором.
inUserRefCon
refCon пользователя, который будет передан, когда будет вызван их обратный вызов события.
Обсуждение
Когда команда OBEX будет отослана, действительно не необходимый, чтобы использоваться, так как селектор события будет установлен.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
См. также
setEventSelector
-
Объявление
Swift
struct OBEXTransportEvent { var type: OBEXTransportEventType var status: OBEXError var dataPtr: UnsafeMutablePointer<Void> var dataLength: UInt }
Objective C
typedef struct OBEXTransportEvent OBEXTransportEvent;
Обсуждение
Вам будут нужны к construcy они, когда данные будут получены, и затем передайте указатель на него к одному из входящих методов данных, определенных ниже. Передайте 0 как Ваше состояние, если данными был полученный OK. Иначе, можно вставить собственный код ошибки там. Для типа передачи, убедиться использовать один из определенных типов выше.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.
-
Объявление
Swift
typealias OBEXTransportEventType = UInt32
Objective C
typedef uint32_t OBEXTransportEventType;
Обсуждение
Передайте эти типы в OBEXTransportEvent, и затем передайте структуру на объект сеанса, как только Вы заполнили его. Это - то, как можно связаться с сеансом, когда события происходят - если данные будут получены, то тип будет 'kOBEXTransportEventTypeDataReceived'. если ошибка произошла на Вашем транспорте, как удаленная умершая цель, можно отправить событие изменения состояния с ненулевым значением. Так как объекты сеанса получат этот код состояния на своих обработчиках событий, необходимо попытаться передать полезное состояние/код ошибки, такое как значение IOReturn.
Оператор импорта
Objective C
@import IOBluetooth;
Swift
import IOBluetooth
Доступность
Доступный в OS X v10.2 и позже.