Qt D-Bus

D-Busはプロセス間通信(IPC)とリモートプロシージャーコーリング(RPC)のメカニズムで、元々はLinux用に開発されたもので、既存の競合するIPCソリューションを1つの統一されたプロトコルで置き換えることを目的としている。また、システムレベル・プロセス(プリンターやハードウェア・ドライバー・サービスなど)と通常のユーザー・プロセス間の通信を可能にするために設計された。

高速なバイナリー・メッセージ・パッシング・プロトコルを使用し、低レイテンシーと低オーバーヘッドのため、同一マシン間の通信に適している。その仕様は現在、freedesktop.org プロジェクトによって定義されており、すべての関係者が利用できる。

通信は一般的に、「バス」と呼ばれる中央のサーバーアプリケーションを介して行われるが(これが名前の由来)、アプリケーション間の直接通信も可能である。バス上で通信を行う場合、アプリケーションは他のアプリケーションやサービスが利用可能か問い合わせたり、オンデマンドで起動したりすることができます。

モジュールの使用

Qt モジュールの C++ API を使用するには、モジュール・ライブラリを直接リンクするか、他の依存関係を介してリンクする必要があります。CMakeや qmakeなど、いくつかのビルドツールはこのための専用サポートを持っています。

find_package() コマンドを使用して、Qt6 パッケージから必要なモジュールコンポーネントを探します:

find_package(Qt6 REQUIRED COMPONENTS DBus)
target_link_libraries(mytarget PRIVATE Qt6::DBus)

詳細については、CMakeによるビルドの概要を参照してください。

記事とガイド

以下のドキュメントには、Qt の D-Bus 統合機能に関する情報と、バス上で型情報を送受信するためのメカニズムに関する詳細が記載されています:

使用例

リファレンス

モジュールの進化

Qt D-Bus の変更点には、Qt 6 シリーズの Qt で行われたモジュール API と機能の重要な変更点が記載されています。

ライセンスと帰属

Qt D-Bus モジュールはThe Qt Company の商用ライセンスで利用できます。さらに、フリーソフトウェアライセンスでも利用可能です:GNU Lesser General Public License, version 3 またはGNU General Public License, version 2。詳細はQt ライセンスを参照してください。

さらに、Qt 6.8.0のQt D-Busは、以下の許諾ライセンスの下でサードパーティモジュールを含むことができます:

libdus-1 headers, version dbus-1.13.12

アカデミック・フリー・ライセンス v2.1、または GNU General Public License v2.0 またはそれ以降。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。