「C Sharpの応用 - D-Bus」の版間の差分

ナビゲーションに移動 検索に移動
(ページの作成:「== 概要 == dbus-sharp (ndesk-dbusプロジェクトのフォーク) は、Monoと.NET 2.0をターゲットとするC#の実装である。<br> <br> Tmds.DBusは、dbus-sharpのプロトコル実装の上に構築されており、.NET 4.5で導入された非同期プログラミングモデルに基づく APIを提供している。<br> このライブラリは .NET Standard 2.0をターゲットとしており、.NET Framework 4.6.1以降、.NET Core / .NET 6…」)
 
22行目: 22行目:
== D-Busサービスのインターフェースの生成 ==
== D-Busサービスのインターフェースの生成 ==
<code>dotnet dbus list</code>コマンドを実行して、任意のD-Busサービス名を調べる。<br>
<code>dotnet dbus list</code>コマンドを実行して、任意のD-Busサービス名を調べる。<br>
# システムバスの場合
  dotnet dbus list services --bus system | grep -iE "<D-Busサービス名 (名前の一部でも可能)>"
  dotnet dbus list services --bus system | grep -iE "<D-Busサービス名 (名前の一部でも可能)>"
# セッションバスの場合
dotnet dbus list services --bus session | grep -iE "<D-Busサービス名 (名前の一部でも可能)>"
<br>
<br>
D-Busサービス名を使用して、D-Busオブジェクト名を調べる。<br>
D-Busサービス名を使用して、D-Busオブジェクト名を調べる。<br>
# システムバスの場合
  dotnet dbus list objects --bus system --service <D-Busサービス名> | head -2
  dotnet dbus list objects --bus system --service <D-Busサービス名> | head -2
# セッションバスの場合
dotnet dbus list objects --bus session --service <D-Busサービス名> | head -2
<br>  
<br>  
  # 実行例:
  # 実行例:
38行目: 46行目:
<br>
<br>
最後に、<code>dotnet dbus codegen</code>コマンドを実行して、D-Busサービス向けのC#インターフェイスを生成する。<br>
最後に、<code>dotnet dbus codegen</code>コマンドを実行して、D-Busサービス向けのC#インターフェイスを生成する。<br>
# システムバスの場合
  dotnet dbus codegen --bus system --service <D-Busサービス名>
  dotnet dbus codegen --bus system --service <D-Busサービス名>
# セッションバスの場合
dotnet dbus codegen --bus session --service <D-Busサービス名>
   
   
  # 実行例:
  # 実行例:
  dotnet dbus codegen --bus system --service org.freedesktop.login1
  dotnet dbus codegen --bus system --service org.freedesktop.login1
<br>
<br>
これにより、現在のカレントディレクトリに<u><D-Busサービス名のサフィックス>.DBus.cs</u>ファイルが生成される。<br>
C#インターフェイスが記述されているファイルは、現在のカレントディレクトリに<u><D-Busサービス名のサフィックス>.DBus.cs</u>ファイルとして生成される。<br>
<br>
<br>
自動生成されたC#ファイルには、D-Busサービスのインターフェースが記述されている。<br>
自動生成されたC#ファイルには、D-Busサービスのインターフェースが記述されている。<br>

案内メニュー