Spec-Zone.ru › Qt 5.12

Класс QDBusAbstractInterface

Класс QDBusAbstractInterface является базовым классом для всех интерфейсов D-Bus в привязке Qt D-Bus, позволяющим получить доступ к удаленным интерфейсам. Подробнее...

Заголовок: #include <QDBusAbstractInterface>
qmake: QT += dbus
С тех пор: Qt 4.2
Наследуется от: QObject
Наследуется:

QDBusConnectionInterface и QDBusInterface

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

Открытые функции

virtual ~QDBusAbstractInterface()
QDBusPendingCall asyncCall(const QString &method, const QVariant &arg1 = QVariant(), const QVariant &arg2 = QVariant(), const QVariant &arg3 = QVariant(), const QVariant &arg4 = QVariant(), const QVariant &arg5 = QVariant(), const QVariant &arg6 = QVariant(), const QVariant &arg7 = QVariant(), const QVariant &arg8 = QVariant())
QDBusPendingCall asyncCallWithArgumentList(const QString &method, const QList<QVariant> &args)
QDBusMessage call(const QString &method, const QVariant &arg1 = QVariant(), const QVariant &arg2 = QVariant(), const QVariant &arg3 = QVariant(), const QVariant &arg4 = QVariant(), const QVariant &arg5 = QVariant(), const QVariant &arg6 = QVariant(), const QVariant &arg7 = QVariant(), const QVariant &arg8 = QVariant())
  • 31 открытых функций, унаследованных от QObject

Статические открытые члены

const QMetaObject staticMetaObject
  • 9 статических открытых членов, унаследованных от QObject

Дополнительные унаследованные члены

  • 1 свойство, унаследованное от QObject
  • 1 открытый слот, унаследованный от QObject
  • 2 сигнала, унаследованные от QObject
  • 9 защищенных функций, унаследованных от QObject

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

Класс QDBusAbstractInterface является базовым классом для всех интерфейсов D-Bus в привязке Qt D-Bus, позволяющим получить доступ к удаленным интерфейсам.

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

См. также Компилятор QDBus и QDBusInterface.

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

[virtual] QDBusAbstractInterface::~QDBusAbstractInterface()

Освобождает ресурсы этого объекта.

QDBusPendingCall QDBusAbstractInterface::asyncCall(const QString &method, const QVariant &arg1 = QVariant(), const QVariant &arg2 = QVariant(), const QVariant &arg3 = QVariant(), const QVariant &arg4 = QVariant(), const QVariant &arg5 = QVariant(), const QVariant &arg6 = QVariant(), const QVariant &arg7 = QVariant(), const QVariant &arg8 = QVariant())

Вызывает метод method на данном интерфейсе и передает параметры этой функции удаленному методу.

Параметры call передаются удаленной функции через D-Bus в качестве входных аргументов. Возвращаемый объект QDBusPendingCall может быть использован для получения информации о ответе.

Эта функция может использоваться с до 8 параметров, передаваемых в аргументах arg1, arg2, arg3, arg4, arg5, arg6, arg7 и arg8. Если вам нужно больше 8 параметров или если у вас переменное количество параметров для передачи, используйте asyncCallWithArgumentList().

Она может быть использована следующим образом:

QString value = retrieveValue();
QDBusPendingCall pcall = interface->asyncCall(QLatin1String("Process"), value);

QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(pcall, this);

QObject::connect(watcher, SIGNAL(finished(QDBusPendingCallWatcher*)),
                 this, SLOT(callFinishedSlot(QDBusPendingCallWatcher*)));

Этот пример иллюстрирует вызов функций с 0, 1 и 2 параметрами и показывает разные типы параметров, передаваемых в каждом из них (первый вызов "ProcessWorkUnicode" будет содержать одну строку Юникода, второй вызов "ProcessWork" будет содержать одну строку и один массив байтов).

Функция была добавлена в Qt 4.5.

QDBusPendingCall QDBusAbstractInterface::asyncCallWithArgumentList(const QString &method, const QList<QVariant> &args)

Вызывает удалённый метод, указанный параметром method, на этом интерфейсе, используя args в качестве аргументов. Эта функция возвращает объект QDBusPendingCall, который может использоваться для отслеживания состояния ответа и доступа к его содержимому после его получения.

Обычно вы должны размещать вызовы с помощью asyncCall().

Примечание: Эта функция безопасна для многопоточных приложений.

Функция была добавлена в Qt 4.5.

END_OF_DOCUMENT_MARKER ```

QDBusMessage QDBusAbstractInterface::call(const QString &method, const QVariant &arg1 = QVariant(), const QVariant &arg2 = QVariant(), const QVariant &arg3 = QVariant(), const QVariant &arg4 = QVariant(), const QVariant &arg5 = QVariant(), const QVariant &arg6 = QVariant(), const QVariant &arg7 = QVariant(), const QVariant &arg8 = QVariant())

Вызывает метод method на этом интерфейсе и передает параметры этой функции методу.

Параметры call передаются удаленной функции через D-Bus в качестве входных аргументов. Результаты вычислений возвращаются в ответе QDBusMessage. Если ответ — ответ об ошибке, lastError() также будет установлено на содержимое сообщения об ошибке.

Эта функция может быть использована с до 8 параметрами, переданными в аргументах arg1, arg2, arg3, arg4, arg5, arg6, arg7 и arg8. Если вам нужно больше 8 параметров или если у вас переменное количество передаваемых параметров, используйте callWithArgumentList().

Она может быть использована следующим образом:

QString value = retrieveValue();
QDBusMessage reply;

QDBusReply<int> api = interface->call(QLatin1String("GetAPIVersion"));
if (api >= 14)
  reply = interface->call(QLatin1String("ProcessWorkUnicode"), value);
else
  reply = interface->call(QLatin1String("ProcessWork"), QLatin1String("UTF-8"), value.toUtf8());

Этот пример иллюстрирует вызов функции с 0, 1 и 2 параметрами и иллюстрирует разные типы параметров, передаваемых в каждом (первый вызов "ProcessWorkUnicode" будет содержать одну строку Юникода, второй вызов "ProcessWork" будет содержать одну строку и один массив байтов).

QDBusMessage QDBusAbstractInterface::call(QDBus::CallMode mode, const QString &method, const QVariant &arg1 = QVariant(), const QVariant &arg2 = QVariant(), const QVariant &arg3 = QVariant(), const QVariant &arg4 = QVariant(), const QVariant &arg5 = QVariant(), const QVariant &arg6 = QVariant(), const QVariant &arg7 = QVariant(), const QVariant &arg8 = QVariant())

Это перегруженная функция.

Вызывает метод method на этом интерфейсе и передает параметры этой функции методу. Если mode равен NoWaitForReply, эта функция вернется сразу после выполнения вызова, не дожидаясь ответа от удаленного метода. В противном случае, mode указывает, должен ли эта функция активировать цикл событий Qt, ожидая получения ответа.

Эта функция может быть использована с до 8 параметрами, переданными в аргументах arg1, arg2, arg3, arg4, arg5, arg6, arg7 и arg8. Если вам нужно больше 8 параметров или если у вас переменное количество передаваемых параметров, используйте callWithArgumentList().

Если эта функция повторно входит в цикл событий Qt, чтобы дождаться ответа, она исключит пользовательский ввод. Во время ожидания она может передавать сигналы и другие вызовы методов вашему приложению. Поэтому оно должно быть готово к обработке повторного входа при каждом вызове с помощью call().

QDBusMessage QDBusAbstractInterface::callWithArgumentList(QDBus::CallMode mode, const QString &method, const QList<QVariant> &args)

Выполняет вызов удаленного метода, заданного method, на этом интерфейсе, используя args в качестве аргументов. Эта функция возвращает сообщение, полученное в ответ, которое может быть обычным QDBusMessage::ReplyMessage (указывающим успех) или QDBusMessage::ErrorMessage (если вызов не удался). Параметр mode определяет, как должен быть размещён этот вызов.

Если вызов успешен, lastError() будет очищено; в противном случае, оно будет содержать ошибку, которую произвел этот вызов.

В нормальных случаях, вы должны размещать вызовы с использованием call().

Предупреждение: Если вы используете UseEventLoop, ваш код должен быть готов к обработке повторного входа: другие вызовы методов и сигналы могут быть доставлены до возвращения этой функции, а также другие очереди Qt и события.

Примечание: Эта функция безопасна для потоков.

bool QDBusAbstractInterface::callWithCallback(const QString &method, const QList<QVariant> &args, QObject *receiver, const char *returnMethod, const char *errorMethod)

Выполняет вызов удаленного метода, заданного method, на этом интерфейсе, используя args в качестве аргументов. Эта функция возвращается сразу после добавления вызова в очередь. Ответ от удаленной функции передаётся в returnMethod объекту receiver. При возникновении ошибки вместо этого вызывается errorMethod объекта receiver.

Эта функция возвращает true если добавление в очередь успешно. Она не указывает, что выполненный вызов был успешным. Если это не так, вызывается errorMethod. Если добавление в очередь не удалось, эта функция возвращает false и ни один слот не будет вызван.

returnMethod должен иметь в качестве параметров типы, возвращаемые функцией вызова. Дополнительно, он может иметь параметр QDBusMessage в качестве последнего или единственного параметра. errorMethod должен иметь QDBusError в качестве единственного параметра.

Эта функция была добавлена в Qt 4.3.

См. также QDBusError и QDBusMessage.

bool QDBusAbstractInterface::callWithCallback(const QString &method, const QList<QVariant> &args, QObject *receiver, const char *slot)

Это перегруженная функция.

Эта функция устарела. Пожалуйста, используйте перегруженную версию.

Выполняет вызов удаленного метода, заданного method, на этом интерфейсе, используя args в качестве аргументов. Эта функция возвращается сразу после добавления вызова в очередь. Ответ от удалённой функции или любые ошибки, выпущенные ею, передаются в слот slot объекта receiver.

Эта функция возвращает true если добавление в очередь было успешным: это не указывает на то, что вызов был успешным. Если это не так, слот будет вызван с сообщением об ошибке. lastError() не будет установлена в таких обстоятельствах.

См. также QDBusError и QDBusMessage.

QDBusConnection QDBusAbstractInterface::connection() const

Возвращает соединение, с которым связан этот интерфейс.

QString QDBusAbstractInterface::interface() const

Возвращает имя этого интерфейса.

bool QDBusAbstractInterface::isValid() const

Возвращает true если это действительная ссылка на удалённый объект. Возвращает false если при создании этого интерфейса произошла ошибка (например, если удалённое приложение не существует).

Примечание: при работе с удалёнными объектами не всегда возможно определить, существует ли он при создании QDBusInterface.

QDBusError QDBusAbstractInterface::lastError() const

Возвращает ошибку, возникшую при последней операции, или недействительную ошибку, если последняя операция не привела к ошибке.

QString QDBusAbstractInterface::path() const

Возвращает путь к объекту, с которым связан этот интерфейс.

QString QDBusAbstractInterface::service() const

Возвращает имя службы, с которой связан этот интерфейс.

void QDBusAbstractInterface::setTimeout(int timeout)

Устанавливает таймаут в миллисекундах для всех будущих вызовов DBus на timeout. -1 означает стандартный таймаут DBus (обычно 25 секунд).

Эта функция была добавлена в Qt 4.8.

См. также timeout().

int QDBusAbstractInterface::timeout() const

Возвращает текущее значение таймаута в миллисекундах. -1 означает стандартный таймаут DBus (обычно 25 секунд).

Эта функция была добавлена в Qt 4.8.

См. также setTimeout().

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

Spec-Zone.ru

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