「Qtの基礎 - D-Bus」の版間の差分

ナビゲーションに移動 検索に移動
341行目: 341行目:
  例. qdbuscpp2xml -M SampleHelper.h -O org.qt.sample.xml
  例. qdbuscpp2xml -M SampleHelper.h -O org.qt.sample.xml
<br>
<br>
qdbuscpp2xmlコマンドのオプションを、以下に示す。<br>
<code>qdbuscpp2xml</code>コマンドのオプションを、以下に示す。<br>
* -p または -s または -m
* -p または -s または -m
*: スクリプト化されたアトリビュート(<code>-p</code>オプション)、シグナル(<code>-s</code>オプション)、メソッド(スロット関数)(<code>-m</code>オプション)のみがパースされる。
*: スクリプト化されたアトリビュート(<code>-p</code>オプション)、シグナル(<code>-s</code>オプション)、メソッド(スロット関数)(<code>-m</code>オプション)のみがパースされる。
353行目: 353行目:
*: D-Busインターフェースファイルを生成する。
*: D-Busインターフェースファイルを生成する。
<br>
<br>
==== qdbusxml2cppコマンド ====
<code>qdbusxml2cpp</code>コマンドは、D-Busインターフェースファイルの定義に従い、C++のアダプターコードを生成する。<br>
これは、<code>qdbusabstractadapter</code>と<code>QDBusAbstractInterface</code>を継承したプロセス通信サーバとクライアントの実装コードを自動生成する。<br>
# mocファイルはインクルードしない場合
qdbusxml2cpp -a <生成するcppファイル名とヘッダファイル名> -c <自動生成するヘルパークラス名 (親クラス)> -i <対象となるクラスを記述しているヘッダファイル> -l <対象となるクラス名> <D-Busインターフェースファイルのパス>
例. qdbusxml2cpp -a SamplesAdaptor -c SamplesAdaptor -i SampleHelper.h -l SampleHelper org.qt.policykit.examples.xml
# mocファイルもインクルードする場合
qdbusxml2cpp -m -a <生成するcppファイル名とヘッダファイル名> -c <自動生成するヘルパークラス名 (親クラス)> -i <対象となるクラスを記述しているヘッダファイル> -l <対象となるクラス名> <D-Busインターフェースファイルのパス>
例. qdbusxml2cpp -m -a SamplesAdaptor -c SamplesAdaptor -i SampleHelper.h -l SampleHelper org.qt.policykit.examples.xml
<br>
<code>qdbusxml2cpp</code>コマンドのオプションを、以下に示す。<br>
* -a <アダプターソースコードおよびヘッダのファイル名> または -A <アダプターソースコードおよびヘッダのファイル名>
*: 指定された名前でアダプターソースコードおよびヘッダを生成する。
* -c <アダプターソースコードで使用するクラス名> または -C <アダプターソースコードで使用するクラス名>
*: アダプターソースコードで使用するクラス名を指定する。
* -i <対象となるクラスを記述しているヘッダファイル名> または -I <対象となるクラスを記述しているヘッダファイル名>
*: アダプターソースコードに、<code>#include <対象となるクラスを記述しているヘッダファイル></code>を追加する。
* -l <対象となるクラス名> または -L <対象となるクラス名>
*: アダプタソースコードを生成する時に使用するクラス名(親クラス)を指定する。
* -m
*: アダプターソースコードに、<code>#include "<アダプターソースコード名.moc>"</code>ステートメントを追加する。
* -N
*: 名前空間を使用しない。
* -p <アダプターソースコードのファイル名> または -P <アダプターソースコードのファイル名>
*: アダプターソースコードのファイルへのプロキシコードを生成する。
<br>
==== サンプルコード ====
==== サンプルコード ====
以下の例では、Qtにおいて、D-Busを使用したメッセージの送受信を行っている。<br>
以下の例では、Qtにおいて、D-Busを使用したメッセージの送受信を行っている。<br>

案内メニュー