Spec-Zone.ru › Qt

Класс QAndroidBinder

Оборачивает наиболее важные методы класса Android Binder. Подробнее...

Заголовок: #include <QAndroidBinder>
CMake: find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
С момента: Qt 6.2

Этот класс находится в разработке и может быть изменён.

  • Список всех членов, включая унаследованные

Типы публичного доступа

перечисление классов CallType { Обычный, Односторонний }

Функции публичного доступа

QAndroidBinder(const QJniObject &binder)
QAndroidBinder()
QJniObject handle() const
виртуальный bool onTransact(int code, const QAndroidParcel &data, const QAndroidParcel &reply, QAndroidBinder::CallType flags)
bool transact(int code, const QAndroidParcel &data, QAndroidParcel *reply = nullptr, QAndroidBinder::CallType flags = CallType::Обычный) const

Подробное описание

Класс QAndroidBinder — это вспомогательный класс, который оборачивает наиболее важные методы Android Binder.

Документация по типам членов

перечисление QAndroidBinder::CallType

Это перечисление используется с QAndroidBinder::transact(), чтобы описать режим выполнения вызова IPC.

Константа Значение Описание
QAndroidBinder::CallType::Normal 0 обычный IPC, означающий, что вызывающий поток ждёт результат от вызываемого потока
QAndroidBinder::CallType::OneWay 1 односторонний IPC, означающий, что вызывающий поток возвращается немедленно, не дожидаясь результата от вызываемого потока

Документация по функциям-членам

QAndroidBinder::QAndroidBinder(const QJniObject &binder)

Создаёт новый объект из объекта Java binder.

См. также transact.

QAndroidBinder::QAndroidBinder()

Создаёт новый объект, который может использоваться для выполнения IPC.

См. также onTransact и transact.

QJniObject QAndroidBinder::handle() const

Возвращаемое значение полезно для вызова других API Java, которые не покрываются этим оболочкой

[virtual] bool QAndroidBinder::onTransact(int code, const QAndroidParcel &data, const QAndroidParcel &reply, QAndroidBinder::CallType flags)

Реализация по умолчанию — это заглушка, которая возвращает false. Пользователь должен переопределить этот метод, чтобы получить данные транзакции от вызывающего потока.

code — это действие для выполнения. data — данные, отправленные вызывающим потоком. reply — данные, которые необходимо отправить вызывающему потоку. flags — дополнительные флаги операции.

Предупреждение: Этот метод вызывается из потока Binder, который отличается от потока, в котором был создан этот объект.

См. также transact.

bool QAndroidBinder::transact(int code, const QAndroidParcel &data, QAndroidParcel *reply = nullptr, QAndroidBinder::CallType flags = CallType::Обычный) const

Выполняет вызов IPC.

code — действие для выполнения. Должно быть между FIRST_CALL_TRANSACTION и LAST_CALL_TRANSACTION. data — данные, которые необходимо отправить целевому потоку. reply (если указано) — данные, которые необходимо получить от целевого потока. Может быть nullptr, если возвращаемое значение вас не интересует. flags — дополнительные флаги операции.

Возвращает true при успешном выполнении

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qandroidbinder.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API