Spec-Zone.ru › Qt 5.9

Класс 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
  • 32 открытых функции унаследовано от 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/qt-5.9/qdbusconnectioninterface.html

Spec-Zone.ru

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