QDBusConnectionInterface Class
QDBusConnectionInterfaceクラスは、D-Busバス・デーモン・サービスへのアクセスを提供します。詳細...
ヘッダー | #include <QDBusConnectionInterface> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS DBus) target_link_libraries(mytarget PRIVATE Qt6::DBus) |
qmake: | QT += dbus |
継承: | QDBusAbstractInterface |
パブリックな型
enum | RegisterServiceReply { ServiceNotRegistered, ServiceRegistered, ServiceQueued } |
enum | ServiceQueueOptions { DontQueueService, QueueService, ReplaceExistingService } |
enum | ServiceReplacementOptions { DontAllowReplacement, AllowReplacement } |
プロパティ
- activatableServiceNames : const QDBusReply<QStringList>
- registeredServiceNames : const QDBusReply<QStringList>
公開スロット
QDBusReply<QStringList> | activatableServiceNames() const |
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) |
シグナル
void | callWithCallbackFailed(const QDBusError &error, const QDBusMessage &call) |
void | serviceRegistered(const QString &service) |
void | serviceUnregistered(const QString &service) |
詳細説明
D-Busバス・サーバー・デーモンは、クライアントがバスの特定のプロパティ(現在接続されているクライアントのリストなど)にアクセスできるようにする1つの特別なインターフェースorg.freedesktop.DBus
。QDBusConnectionInterfaceクラスは、このインターフェースへのアクセスを提供します。
このクラスの最も一般的な使用方法は、registerService() およびunregisterService() 関数を使用してバス上のサービス名を登録および登録解除すること、isServiceRegistered(),registeredServiceNames() およびserviceOwner() 関数を使用して既存の名前について問い合わせること、serviceRegistered(),serviceUnregistered() および serviceOwnerChanged() シグナルを使用してクライアントが登録または登録解除したことを通知として受け取ることである。
メンバ型ドキュメント
enum QDBusConnectionInterface::RegisterServiceReply
registerService() から返される可能性のある値:
定数 | 値 | 説明 |
---|---|---|
QDBusConnectionInterface::ServiceNotRegistered | 0 | 呼び出しは失敗し、サービス名は登録されませんでした。 |
QDBusConnectionInterface::ServiceRegistered | 1 | 呼び出し元がサービス名の所有者になりました。 |
QDBusConnectionInterface::ServiceQueued | 2 | 呼び出し元がQueueService フラグを指定し、サービスがすでに登録されていたため、キューに入った。 |
このアプリケーションによってサービスが取得されると、serviceRegistered ()シグナルが発行されます。
enum QDBusConnectionInterface::ServiceQueueOptions
サービス名がすでに登録されている場合に、サービス登録がどのように動作するかを決定するためのフラグ。
定数 | 値 | 説明 |
---|---|---|
QDBusConnectionInterface::DontQueueService | 0 | アプリケーションが既に所有されている名前を要求した場合、キューイングは実行されません。registeredService() 呼び出しは単に失敗します。これはデフォルトです。 |
QDBusConnectionInterface::QueueService | 1 | 要求されたサービスの登録を試みますが、他のアプリケーションがすでにそのサービスを登録している場合は、置き換えようとしません。その代わりに、このアプリケーションを単にキューに入れ、あきらめるまで待ちます。その際、serviceRegistered ()シグナルが発せられます。 |
QDBusConnectionInterface::ReplaceExistingService | 2 | 他のアプリケーションがすでにそのサービス名を登録している場合は、置き換えを試みます。 |
ServiceReplacementOptionsも参照のこと 。
enum QDBusConnectionInterface::ServiceReplacementOptions
D-Bus サーバーが、このアプリケーションがReplaceExistingService オプションで登録した名前の置き換えを他のアプリケーションに許可するかどうかを決定するためのフラグ。
指定できる値は以下のとおりです:
定数 | 値 | 説明 |
---|---|---|
QDBusConnectionInterface::DontAllowReplacement | 0 | 他のアプリケーションによる置き換えを許可しない。他のアプリケーションがサービスを取得するには、unregisterService() で明示的に登録を解除する必要があります。これはデフォルトです。 |
QDBusConnectionInterface::AllowReplacement | 1 | 他のアプリケーションがregisterService() のReplaceExistingService オプションを使用して私たちを置き換えることを許可する。その場合、serviceUnregistered() シグナルが発行される。 |
ServiceQueueOptionsも参照してください 。
プロパティ・ドキュメント
[read-only]
activatableServiceNames : const QDBusReply<QStringList>
アクティブ化可能なサービス名を保持
バス上でアクティベート可能なすべての名前をリストアップします。
アクセス関数:
QDBusReply<QStringList> | activatableServiceNames() const |
[read-only]
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
serviceName のサービス名が現在登録されている場合、true
を返す。
[slot]
QDBusReply<QDBusConnectionInterface::RegisterServiceReply> QDBusConnectionInterface::registerService(const QString &serviceName, QDBusConnectionInterface::ServiceQueueOptions qoption = DontQueueService, QDBusConnectionInterface::ServiceReplacementOptions roption = DontAllowReplacement)
バス上のサービス名serviceName の登録を要求する。qoption フラグは、serviceName がすでに登録されている場合に D-Bus サーバーがどのように動作するかを指定します。roption フラグは、サーバーが他のアプリケーションに登録済みの名前を置き換えることを許可するかどうかを指定します。
サービス登録が成功すると、serviceRegistered ()シグナルが発行される。キューに入れられた場合は、名前を取得したときにシグナルが発せられる。roption がAllowReplacement の場合、他のアプリケーションがこのアプリケーションを置き換える と、serviceUnregistered() シグナルが発せられる。
unregisterService()も参照のこと 。
[slot]
QDBusReply<QString> QDBusConnectionInterface::serviceOwner(const QString &name) const
name という名前の主な所有者の一意の接続名を返します。要求された名前に所有者がいない場合は、org.freedesktop.DBus.Error.NameHasNoOwner
エラーを返します。
[slot]
QDBusReply<uint> QDBusConnectionInterface::servicePid(const QString &serviceName) const
現在バスサービスを保持しているプロセスの Unix プロセス ID (PID) を返すserviceName 。
[signal]
void QDBusConnectionInterface::serviceRegistered(const QString &service)
このシグナルは、service によって指定されたバス・サービス名(一意の接続名または周知のサービス名)がこのアプリケーションによって取得されたときに、Dバス・サーバーによって発行される。
取得は、このアプリケーションがregisterService() を使用して名前を要求した後に行われます。
[slot]
QDBusReply<uint> QDBusConnectionInterface::serviceUid(const QString &serviceName) const
現在バスサービスを保持しているプロセスの Unix User ID (UID) を返すserviceName 。
[signal]
void QDBusConnectionInterface::serviceUnregistered(const QString &service)
このシグナルは、アプリケーションがservice で指定されたバス・サービス名の所有権を失ったときに、Dバス・サーバーから発行されます。
[slot]
QDBusReply<void> QDBusConnectionInterface::startService(const QString &name)
name で指定されたサービスの開始をバスに要求する。
[slot]
QDBusReply<bool> QDBusConnectionInterface::unregisterService(const QString &serviceName)
registerService()に登録されていたバスサービス名serviceName のクレームを解放する。このアプリケーションがその名前の所有権を持っていた場合、その名前は他のアプリケー ションが要求できるように解放される。このアプリケーションがその名前をキューに入れていただけの場合、キュー内の位置を放棄する。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.