12,925
回編集
(ページの作成:「== 概要 == 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> | ||
C#インターフェイスが記述されているファイルは、現在のカレントディレクトリに<u><D-Busサービス名のサフィックス>.DBus.cs</u>ファイルとして生成される。<br> | |||
<br> | <br> | ||
自動生成されたC#ファイルには、D-Busサービスのインターフェースが記述されている。<br> | 自動生成されたC#ファイルには、D-Busサービスのインターフェースが記述されている。<br> |