13,000
回編集
75行目: | 75行目: | ||
== サンプルコード == | == サンプルコード == | ||
以下の例では、Linuxにおいてセッションをログオフしている。<br> | 以下の例では、Linuxにおいてセッションをログオフしている。<br> | ||
<br> | |||
システムバスまたはセッションバスに接続する<code>Connection.System</code>は<code>Static</code>であることに注意する。<br> | |||
<code>Connection.System</code>および<code>Connection.Session</code>は、それぞれシステムバスおよびセッションバスへの接続を提供する。<br> | |||
これらのメンバは、アプリケーション全体で同じ<code>Connection</code>クラスを共有する便利な方法を提供している。<br> | |||
<br> | |||
各バスへの接続は、最初の使用時に自動的に確立される。<br> | |||
ただし、ステートフル操作 (<code>Connection.RegisterServiceAsync</code>等) は許可されていない。<br> | |||
<br> | <br> | ||
<syntaxhighlight lang="c#"> | <syntaxhighlight lang="c#"> | ||
88行目: | 95行目: | ||
try | try | ||
{ | { | ||
// | // D-Busのシステムバスに接続 | ||
var connection = Connection.System; | var connection = Connection.System; | ||
// ログインマネージャーオブジェクトを取得 | // ログインマネージャーオブジェクトを取得 | ||
// connection.CreateProxy<<自動生成されたインターフェース名>>("<D-Busサービス名>", new ObjectPath("<D-Busオブジェクト名")); | |||
var loginManager = connection.CreateProxy<IManager>("org.freedesktop.login1", new ObjectPath("/org/freedesktop/login1")); | var loginManager = connection.CreateProxy<IManager>("org.freedesktop.login1", new ObjectPath("/org/freedesktop/login1")); | ||