Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка класса OBEXSession

Опции
Развертывание Target:

На этой странице
Язык:

OBEXSession

Объект, представляющий соединение OBEX с удаленной целью.

У Вас не будет потребности в получении/использовании необработанного OBEXSession, так как это требует, чтобы базовая передача сделала что-либо полезное. Однако, как только у Вас есть объект, который является подклассом этого класса, можно использовать функции в настоящем документе для управления этим OBEXSession. Прежде всего Вы захотите использовать OBEXConnect (если Вы будете клиентским сеансом) фактически заставить транспорт открывать соединение с удаленной целью и устанавливать соединение OBEX по нему. Оттуда можно дать больше команд на основе ответов от сервера.

Если Вы - сеанс сервера, первой вещью, которую необходимо получить, является пакет команды OBEXConnect, и Вы захотите выпустить пакет OBEXConnectResponse, с Вашим ответом на ту команду (успех, отклоненный, плохой запрос, и т.д.).

Можно использовать средства доступа сеанса для доступа к определенной информации, такой как согласованная макс. длина пакета.

Если Вы хотите реализовать свой собственный OBEXSession по транспорту, такому как Ethernet, то необходимо будет видеть конец файла для определения, какие функции переопределить, и что передать тем функциям.

Никакой механизм тайм-аута не был реализован до сих пор для OBEXSessions. При необходимости в тайм-аутах необходимо будет реализовать их сами. Это исследуется для будущей версии. Однако знайте, что Спецификация OBEX явно не требует тайм-аутов, так уверены, что Вы позволяете достаточному количеству времени для команд завершаться, поскольку некоторые устройства могут быть медленными при отправке больших объемов данных.

Наследование


Соответствует


Оператор импорта


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) -> OBEXMaxPacketLength

    Objective C

    - (OBEXMaxPacketLength)getAvailableCommandPayloadLength:(OBEXOpCode)inOpCode

    Параметры

    inOpCode

    Код операции Вы интересуетесь отправкой (как клиент).

    Возвращаемое значение

    Максимальная сумма данных определенный пакет может обработать после учета любой команды наверху.

    Обсуждение

    Каждая Команда OBEX имеет определенную сумму издержек. Так как согласованная макс. длина пакета не указывает то, что составляют максимальные данные, можно отправить в пакете определенной команды, можно использовать эту функцию для определения сколько данных для обеспечения в дополнительных заголовках или заголовках данных организации.

    Оператор импорта

    Objective C

    @import IOBluetooth;

    Swift

    import IOBluetooth

    Доступность

    Доступный в OS X v10.2 и позже.

  • Определите максимальную сумму данных, которые можно отправить в определенном ответе команды как сеанс сервера OBEX.

    Объявление

    Swift

    func getAvailableCommandResponsePayloadLength(_ inOpCode: OBEXOpCode) -> OBEXMaxPacketLength

    Objective 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 и позже.

  • Отправьте команду OBEX Abort в цель сеанса.

    Объявление

    Swift

    func OBEXAbort(_ inOptionalHeaders: UnsafeMutablePointer<Void>, optionalHeadersLength inOptionalHeadersLength: UInt, eventSelector inSelector: Selector, selectorTarget inTarget: AnyObject!, refCon inUserRefCon: UnsafeMutablePointer<Void>) -> OBEXError

    Objective 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

  • Отправьте ответ аварийного прекращения работы на цель сеанса.

    Объявление

    Swift

    func OBEXAbortResponse(_ inMaxPacketLength: OBEXOpCode, optionalHeaders inOptionalHeaders: UnsafeMutablePointer<Void>, optionalHeadersLength inOptionalHeadersLength: UInt, eventSelector inSelector: Selector, selectorTarget inTarget: AnyObject!, refCon inUserRefCon: UnsafeMutablePointer<Void>) -> OBEXError

    Objective 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

  • Инициируйте соединение OBEX с устройством. Базовая передача причин (Bluetooth, и др.), чтобы попытаться соединиться с удаленным устройством. После успеха пакет подключения OBEX отправляется для установления Соединения OBEX.

    Объявление

    Swift

    func OBEXConnect(_ inFlags: OBEXFlags, maxPacketLength inMaxPacketLength: OBEXMaxPacketLength, optionalHeaders inOptionalHeaders: UnsafeMutablePointer<Void>, optionalHeadersLength inOptionalHeadersLength: UInt, eventSelector inSelector: Selector, selectorTarget inTarget: AnyObject!, refCon inUserRefCon: UnsafeMutablePointer<Void>) -> OBEXError

    Objective 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

  • Отправьте ответ подключения на цель сеанса.

    Объявление

    Swift

    func OBEXConnectResponse(_ inFlags: OBEXOpCode, flags inConstants: OBEXFlags, maxPacketLength inMaxPacketLength: OBEXMaxPacketLength, optionalHeaders inOptionalHeaders: UnsafeMutablePointer<Void>, optionalHeadersLength inOptionalHeadersLength: UInt, eventSelector inSelector: Selector, selectorTarget inTarget: AnyObject!, refCon inUserRefCon: UnsafeMutablePointer<Void>) -> OBEXError

    Objective 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

  • Отправьте Команду разъединения OBEX в цель сеанса. THIS не обязательно закрывает соединение базовой передачи. Удаление сеанса гарантирует то закрытие.

    Объявление

    Swift

    func OBEXDisconnect(_ inOptionalHeaders: UnsafeMutablePointer<Void>, optionalHeadersLength inOptionalHeadersLength: UInt, eventSelector inSelector: Selector, selectorTarget inTarget: AnyObject!, refCon inUserRefCon: UnsafeMutablePointer<Void>) -> OBEXError

    Objective 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

  • Отправьте ответ разъединения на цель сеанса.

    Объявление

    Swift

    func OBEXDisconnectResponse(_ inMaxPacketLength: OBEXOpCode, optionalHeaders inOptionalHeaders: UnsafeMutablePointer<Void>, optionalHeadersLength inOptionalHeadersLength: UInt, eventSelector inSelector: Selector, selectorTarget inTarget: AnyObject!, refCon inUserRefCon: UnsafeMutablePointer<Void>) -> OBEXError

    Objective 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

  • Отправьте команду OBEX Get в цель сеанса.

    Объявление

    Swift

    func OBEXGet(_ isFinalChunk: Boolean, headers inHeadersData: UnsafeMutablePointer<Void>, headersLength inHeadersDataLength: UInt, eventSelector inSelector: Selector, selectorTarget inTarget: AnyObject!, refCon inUserRefCon: UnsafeMutablePointer<Void>) -> OBEXError

    Objective 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

  • Отправьте получить ответ на цель сеанса.

    Объявление

    Swift

    func OBEXGetResponse(_ inMaxPacketLength: OBEXOpCode, optionalHeaders inOptionalHeaders: UnsafeMutablePointer<Void>, optionalHeadersLength inOptionalHeadersLength: UInt, eventSelector inSelector: Selector, selectorTarget inTarget: AnyObject!, refCon inUserRefCon: UnsafeMutablePointer<Void>) -> OBEXError

    Objective 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

  • Отправьте команду OBEX Put в цель сеанса.

    Объявление

    Swift

    func OBEXPut(_ isFinalChunk: Boolean, headersData inHeadersData: UnsafeMutablePointer<Void>, headersDataLength inHeadersDataLength: UInt, bodyData inBodyData: UnsafeMutablePointer<Void>, bodyDataLength inBodyDataLength: UInt, eventSelector inSelector: Selector, selectorTarget inTarget: AnyObject!, refCon inUserRefCon: UnsafeMutablePointer<Void>) -> OBEXError

    Objective 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

  • Отправьте помещенный ответ на цель сеанса.

    Объявление

    Swift

    func OBEXPutResponse(_ inMaxPacketLength: OBEXOpCode, optionalHeaders inOptionalHeaders: UnsafeMutablePointer<Void>, optionalHeadersLength inOptionalHeadersLength: UInt, eventSelector inSelector: Selector, selectorTarget inTarget: AnyObject!, refCon inUserRefCon: UnsafeMutablePointer<Void>) -> OBEXError

    Objective 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

  • Отправьте команду OBEX SetPath в цель сеанса.

    Объявление

    Swift

    func OBEXSetPath(_ inFlags: OBEXFlags, constants inConstants: OBEXConstants, optionalHeaders inOptionalHeaders: UnsafeMutablePointer<Void>, optionalHeadersLength inOptionalHeadersLength: UInt, eventSelector inSelector: Selector, selectorTarget inTarget: AnyObject!, refCon inUserRefCon: UnsafeMutablePointer<Void>) -> OBEXError

    Objective 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

  • Отправьте ответ пути набора на цель сеанса.

    Объявление

    Swift

    func OBEXSetPathResponse(_ inMaxPacketLength: OBEXOpCode, optionalHeaders inOptionalHeaders: UnsafeMutablePointer<Void>, optionalHeadersLength inOptionalHeadersLength: UInt, eventSelector inSelector: Selector, selectorTarget inTarget: AnyObject!, refCon inUserRefCon: UnsafeMutablePointer<Void>) -> OBEXError

    Objective 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

  • Открывает транспортное соединение для устройства. Подключение Bluetooth является одним примером транспорта.

    Объявление

    Swift

    func openTransportConnection(_ inSelector: Selector, selectorTarget inTarget: AnyObject!, refCon inUserRefCon: UnsafeMutablePointer<Void>) -> OBEXError

    Objective 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>, dataLength inDataLength: UInt) -> OBEXError

    Objective 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, target inEventSelectorTarget: AnyObject!, refCon inUserRefCon: 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 и позже.