📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| 115行目: | 115行目: | ||
<br> | <br> | ||
==== 使用例 : ユーザ定義のD-Busサービスの実行 ==== | ==== 使用例 : ユーザ定義のD-Busサービスの実行 ==== | ||
===== D-Busサービス ===== | |||
以下に示すようなユーザ定義のD-Busサービスがあるとする。<br> | 以下に示すようなユーザ定義のD-Busサービスがあるとする。<br> | ||
* D-Busサービス名 | * D-Busサービス名 | ||
| 132行目: | 133行目: | ||
上記のD-Busサービスにおいて、指定したD-Busサービス、オブジェクト、インターフェース、メソッドを使用して実行している。<br> | 上記のD-Busサービスにおいて、指定したD-Busサービス、オブジェクト、インターフェース、メソッドを使用して実行している。<br> | ||
<br> | <br> | ||
===== D-Busインターフェースの定義ファイル (XMLファイル) ===== | |||
また、D-Busインターフェースの定義ファイル (XMLファイル) は、以下に示すようなものとする。<br> | また、D-Busインターフェースの定義ファイル (XMLファイル) は、以下に示すようなものとする。<br> | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
| 156行目: | 158行目: | ||
<u>sdbus-c++ライブラリは効率的な引数の受け渡しを行うよう設計されているため、大きなオブジェクトは自動的に参照として扱われる。</u><br> | <u>sdbus-c++ライブラリは効率的な引数の受け渡しを行うよう設計されているため、大きなオブジェクトは自動的に参照として扱われる。</u><br> | ||
<br> | <br> | ||
===== D-Busヘルパーファイル ===== | |||
<u>まず、上記のDBusインターフェース定義ファイルからC++コードを生成する。</u><br> | <u>まず、上記のDBusインターフェース定義ファイルからC++コードを生成する。</u><br> | ||
sdbus-c++ライブラリには、XMLファイルからC++のソースコードを生成するツールが付属している。 (sdbus-c++-xml2cppファイル)<br> | sdbus-c++ライブラリには、XMLファイルからC++のソースコードを生成するツールが付属している。 (sdbus-c++-xml2cppファイル)<br> | ||
| 176行目: | 179行目: | ||
#include <cstring> | #include <cstring> | ||
#include "mochiu_proxy.h" // 生成されたプロキシヘッダをインクルード | #include "mochiu_proxy.h" // 生成されたプロキシヘッダをインクルード | ||
</syntaxhighlight> | |||
<br> | |||
===== D-Busの呼び出し側 ===== | |||
<syntaxhighlight lang="c++"> | |||
#include <sdbus-c++/sdbus-c++.h> | |||
#include <iostream> | |||
#include <cstring> | |||
int main() | int main() | ||
| 217行目: | 228行目: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
===== CMakeを使用する場合 ===== | |||
<syntaxhighlight lang="cmake"> | <syntaxhighlight lang="cmake"> | ||
cmake_minimum_required(VERSION 3.16) | cmake_minimum_required(VERSION 3.16) | ||