QDBusConnectionInterface Class
QDBusConnectionInterfaceクラスは、D-Busバス・デーモン・サービスへのアクセスを提供します。詳細...
Header: | #include <QDBusConnectionInterface> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS DBus) target_link_libraries(mytarget PRIVATE Qt6::DBus) |
qmake: | QT += dbus |
Inherits: | 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バス・サーバー・デーモンは、クライアントがバスの特定のプロパティ(現在の接続クライアント・リストなど)にアクセスできる特別なインターフェース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も参照してください 。
プロパティ Documentation
[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
バスサービスserviceName を現在保持しているプロセスの Unix ユーザー ID(UID)を返す。
[signal]
void QDBusConnectionInterface::serviceUnregistered(const QString &service)
このシグナルは、このアプリケーションがservice で指定されたバス・サービス名の所有権を失ったときに、D-Bus サーバーによって発行されます。
[slot]
QDBusReply<void> QDBusConnectionInterface::startService(const QString &name)
バスがname という名前で指定されたサービスを開始するよう要求します。
[slot]
QDBusReply<bool> QDBusConnectionInterface::unregisterService(const QString &serviceName)
registerService() で登録されていたバスサービス名serviceName の要求を解放します。このアプリケーションが名前の所有権を持っていた場合、その名前は他のアプリケーショ ンが要求できるように解放される。このアプリケーションがその名前をキューに入れていただけの場合は、キュー内の位置を放棄します。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。