Spec-Zone.ru › Qt 5.6

Класс QDBusConnectionInterface

Класс QDBusConnectionInterface предоставляет доступ к службе демона D-Bus. Подробнее...

Заголовок: #include <QDBusConnectionInterface>
qmake: QT += dbus
С момента: Qt 4.2
Наследует: QDBusAbstractInterface
  • Список всех членов, включая унаследованные
  • Устаревшие члены

Открытые типы

перечисление RegisterServiceReply { ServiceNotRegistered, ServiceRegistered, ServiceQueued }
перечисление ServiceQueueOptions { DontQueueService, QueueService, ReplaceExistingService }
перечисление ServiceReplacementOptions { DontAllowReplacement, AllowReplacement }

Свойства

  • registeredServiceNames : const QDBusReply<QStringList>
  • 1 свойство унаследовано от QObject

Открытые слоты

QDBusReply<bool> isServiceRegistered(const QString &serviceName) const
QDBusReply<QDBusConnectionInterface::RegisterServiceReply> registerService(const QString &serviceName, ServiceQueueOptions qoption = DontQueueService, ServiceReplacementOptions roption = DontAllowReplacement)
QDBusReply<QStringList> registeredServiceNames() const
QDBusReply<QString> serviceOwner(const QString &name) const
QDBusReply<uint> servicePid(const QString &serviceName) const
QDBusReply<uint> serviceUid(const QString &serviceName) const
QDBusReply<void> startService(const QString &name)
QDBusReply<bool> unregisterService(const QString &serviceName)
  • 1 открытый слот унаследован от QObject

Сигналы

void callWithCallbackFailed(const QDBusError &error, const QDBusMessage &call)
void serviceRegistered(const QString &serviceName)
void serviceUnregistered(const QString &serviceName)
  • 2 сигнала унаследованы от QObject

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

  • 15 открытых функций, унаследованных от QDBusAbstractInterface
  • 31 открытых функций, унаследованных от QObject
  • 11 статических открытых членов, унаследованных от QObject
  • 9 защищённых функций, унаследованных от QObject

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

Класс QDBusConnectionInterface предоставляет доступ к службе демона D-Bus.

Серверный демон D-Bus предоставляет один специальный интерфейс org.freedesktop.DBus, который позволяет клиентам получить доступ к определённым свойствам шины, таким как текущий список подключённых клиентов. Класс QDBusConnectionInterface предоставляет доступ к этому интерфейсу.

Наиболее распространённые применения этого класса — регистрация и отмена регистрации имён служб в шине с помощью функций registerService() и unregisterService(), запросы о существующих именах с помощью функций isServiceRegistered(), registeredServiceNames() и serviceOwner(), и получение уведомлений о регистрации или отмене регистрации клиента через сигналы serviceRegistered(), serviceUnregistered() и serviceOwnerChanged().

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

перечисление QDBusConnectionInterface::RegisterServiceReply

Возможные возвращаемые значения из registerService():

Константа Значение Описание
QDBusConnectionInterface::ServiceNotRegistered 0 Вызов завершился неудачно, и имя службы не было зарегистрировано.
QDBusConnectionInterface::ServiceRegistered 1 Вызывающий теперь является владельцем имени службы.
QDBusConnectionInterface::ServiceQueued 2 Вызывающий указал флаг QueueService, а служба уже была зарегистрирована, поэтому мы находимся в очереди.

Сигнал serviceRegistered() будет выпущен, когда эта служба будет получена этим приложением.

перечисление QDBusConnectionInterface::ServiceQueueOptions

Флаги для определения поведения регистрации службы в случае, если имя службы уже зарегистрировано.

Константа Значение Описание
QDBusConnectionInterface::DontQueueService 0 Если приложение запрашивает имя, которое уже принадлежит кому-то, никаких очередей не будет. Вызов registeredService() просто завершится неудачей. Это значение по умолчанию.
QDBusConnectionInterface::QueueService 1 Попытка зарегистрировать запрашиваемую службу, но не пытаться заменить её, если другая программа уже зарегистрировала её. Вместо этого просто помещает это приложение в очередь, пока ему не будет предоставлено имя. Сигнал serviceRegistered() будет выпущен, когда это произойдёт.
QDBusConnectionInterface::ReplaceExistingService 2 Если другая программа уже зарегистрировала имя службы, попытаться заменить её.

См. также ServiceReplacementOptions.

перечисление QDBusConnectionInterface::ServiceReplacementOptions

Флаги для определения, должен ли сервер D-Bus разрешать другой программе заменить имя, которое это приложение зарегистрировало с помощью параметра ReplaceExistingService.

Возможные значения:

Константа Значение Описание
QDBusConnectionInterface::DontAllowReplacement 0 Не разрешать другой программе заменить нас. Службу необходимо явно удалить с помощью unregisterService(), чтобы другая программа могла получить её. Это значение по умолчанию.
QDBusConnectionInterface::AllowReplacement 1 Разрешить другим приложениям заменить нас с помощью параметра ReplaceExistingService к registerService() без нашего вмешательства. В этом случае будет выпущен сигнал serviceUnregistered().

См. также ServiceQueueOptions.

END_OF_DOCUMENT_MARKER ```

Документация свойств

registeredServiceNames : const QDBusReply<QStringList>

содержит зарегистрированные имена служб

Перечисляет все имена, в настоящее время зарегистрированные в шине.

Функции доступа:

QDBusReply<QStringList> registeredServiceNames() const

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

[signal] void QDBusConnectionInterface::callWithCallbackFailed(const QDBusError &error, const QDBusMessage &call)

Этот сигнал генерируется при возникновении ошибки во время вызова QDBusConnection::callWithCallback(). error указывает на ошибку. call — это сообщение, которое не удалось доставить.

См. также QDBusConnection::callWithCallback().

[slot] QDBusReply<bool> QDBusConnectionInterface::isServiceRegistered(const QString &serviceName) const

Возвращает значение true, если имя службы serviceName в настоящее время зарегистрировано.

[slot] QDBusReply<QDBusConnectionInterface::RegisterServiceReply> QDBusConnectionInterface::registerService(const QString &serviceName, ServiceQueueOptions qoption = DontQueueService, ServiceReplacementOptions roption = DontAllowReplacement)

Запрашивает регистрацию имени службы serviceName в шине. Флаг qoption определяет поведение сервера D-Bus, если serviceName уже зарегистрировано. Флаг roption указывает, должен ли сервер разрешать другому приложению заменить наше зарегистрированное имя.

Если регистрация службы выполняется успешно, будет выпущен сигнал serviceRegistered(). Если мы помещены в очередь, сигнал будет выпущен, когда мы получим имя. Если roption равен AllowReplacement, сигнал serviceUnregistered() будет выпущен, если другое приложение заменит наше.

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

[slot] QDBusReply<QString> QDBusConnectionInterface::serviceOwner(const QString &name) const

Возвращает уникальное имя соединения первичного владельца имени name. Если запрошенное имя не имеет владельца, возвращает ошибку.

[slot] QDBusReply<uint> QDBusConnectionInterface::servicePid(const QString &serviceName) const

Возвращает идентификатор процесса Unix (PID) процесса, который в настоящее время владеет службой шины serviceName.

[signal] void QDBusConnectionInterface::serviceRegistered(const QString &serviceName)

Этот сигнал генерируется сервером D-Bus, когда имя службы шины (уникальное имя соединения или имя известной службы), заданное serviceName, приобретается этим приложением.

Приобретение происходит после того, как это приложение запросило имя с помощью registerService().

[slot] QDBusReply<uint> QDBusConnectionInterface::serviceUid(const QString &serviceName) const

Возвращает идентификатор пользователя Unix (UID) процесса, который в настоящее время владеет службой шины serviceName.

[signal] void QDBusConnectionInterface::serviceUnregistered(const QString &serviceName)

Этот сигнал генерируется сервером D-Bus, когда это приложение теряет владение именем службы шины, заданным serviceName.

[slot] QDBusReply<void> QDBusConnectionInterface::startService(const QString &name)

Запрашивает запуск службы с именем name в шине.

[slot] QDBusReply<bool> QDBusConnectionInterface::unregisterService(const QString &serviceName)

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

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

Spec-Zone.ru

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