Spec-Zone.ru › Qt 5.11

Класс 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, QDBusConnectionInterface::ServiceQueueOptions qoption = DontQueueService, QDBusConnectionInterface::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 &service)
void serviceUnregistered(const QString &service)
  • 2 сигнала унаследованы от QObject

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

  • 15 открытых функций унаследовано от QDBusAbstractInterface
  • 34 открытых функции унаследовано от QObject
  • 1 открытая переменная унаследована от QObject
  • 10 статических открытых членов унаследовано от QObject
  • 9 защищённых функций унаследовано от QObject
  • 2 защищённых переменных унаследовано от 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().
END_OF_DOCUMENT_MARKER

См. также ServiceQueueOptions.

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

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, QDBusConnectionInterface::ServiceQueueOptions qoption = DontQueueService, QDBusConnectionInterface::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 &service)

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

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

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

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

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

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

[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.11/qdbusconnectioninterface.html

Spec-Zone.ru

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