Класс 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