📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

356行目: 356行目:
<br>
<br>
<u>次に、上記のDBusインターフェース定義ファイルからC++コードを生成する。</u><br>
<u>次に、上記のDBusインターフェース定義ファイルからC++コードを生成する。</u><br>
sdbus-c++ライブラリには、XMLファイルからC++のソースコードを生成するツールが付属している。 (sdbus-c++-xml2cppファイル)<br>
sdbus-c++-xml2cppで生成されたソースコードを使用することにより、型安全性が向上して、D-Busインターフェースの使用がより簡単になる。<br>
<br>
<br>
以下に示すコマンドを実行して、<クライアント側のソースコード><サーバ側のソースコード) を生成する。<br>
sdbus-c++ライブラリには、XMLファイルからC++のソースコードを生成するツールであるsdbus-c++-xml2cppツール (スタブジェネレータ) が存在する。<br>
このツールは、D-Busインタフェースを記述したXMLファイルを受け取り、そのインタフェースを経由して呼び出すことができるC++ヘッダファイルを自動生成するものである。<br>
この自動生成されたC++ヘッダファイルは、D-Bus経由の呼び出しをサービスのプロバイダに転送して、結果を呼び出し元に返す役割がある。<br>
<br>
サービスを実装するサーバは、<code>--adaptor</code>オプションで生成されたヘッダファイルのインターフェイスクラスから派生したクラスを定義して、そのメソッドを実装する必要がある。<br>
<br>
以下のコマンド例は、sdbus-c++-xml2cppツールを実行して、D-Busのサーバ側 (ヘルパー実行ファイル) のC++ヘッダファイルを自動生成している。<br>
  sdbus-c++-xml2cpp <D-Busインターフェース定義ファイル名 (XMLファイル)> \
  sdbus-c++-xml2cpp <D-Busインターフェース定義ファイル名 (XMLファイル)> \
                   --adaptor=<生成するアダプタのヘッダファイル名>
                   --adaptor=<生成するアダプタのヘッダファイル名>
367行目: 371行目:
                   --adaptor=MochiuAdaptor.h
                   --adaptor=MochiuAdaptor.h
<br>
<br>
<u>最後に、生成されたソースコードを上記のヘルパー実行ファイルのソースコードに統合する。</u>
<u>最後に、生成されたソースコードを上記のヘルパー実行ファイルのソースコードにインクルードする。</u>
  <syntaxhighlight lang="c++">
  <syntaxhighlight lang="c++">
  // 例: MochiuHelper.hファイル
  // 例: MochiuHelper.hファイル