Класс QAndroidBinder
Оборачивает самые важные методы класса Android Binder. Подробнее...
| Заголовок: | #include <QAndroidBinder> |
| qmake: | QT += androidextras |
| С момента: | Qt 5.10 |
Этот класс был представлен в Qt 5.10.
Типы публичного доступа
| Перечисление | CallType { Normal, OneWay } |
Публичные функции
| QAndroidBinder(const QAndroidJniObject &binder) | |
| QAndroidBinder() | |
| QAndroidJniObject | handle() const |
| virtual 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::Normal) const |
Подробное описание
Класс QAndroidBinder — это вспомогательный класс, который оборачивает самые важные методы Android Binder.
Документация по типам членов
Перечисление QAndroidBinder::CallType
Это перечисление используется с QAndroidBinder::transact() для описания режима выполнения вызова IPC.
| Постоянная | Значение | Описание |
|---|---|---|
QAndroidBinder::CallType::Normal |
0 |
обычный IPC, что означает, что вызывающий процесс ожидает результат от вызываемого |
QAndroidBinder::CallType::OneWay |
1 |
односторонний IPC, что означает, что вызывающий процесс возвращается немедленно, не дожидаясь результата от вызываемого |
Документация по функциям-членам
QAndroidBinder::QAndroidBinder(const QAndroidJniObject &binder)
Создает новый объект из объекта Java binder.
См. также transact.
QAndroidBinder::QAndroidBinder()
Создает новый объект, который может использоваться для выполнения IPC.
См. также onTransact и transact.
QAndroidJniObject 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::Normal) 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-5.15/qandroidbinder.html