diff options
author | Jon Trowbridge <trow@ximian.com> | 2004-08-31 03:59:14 +0000 |
---|---|---|
committer | Jon Trowbridge <trow@ximian.com> | 2004-08-31 03:59:14 +0000 |
commit | 4a77a2dd972e817a08a4571220c8406709af8c48 (patch) | |
tree | 9a4ce9513836303b870b0f266f18b76900caa186 /mono/BusDriver.cs | |
parent | 3a78ce17957de8f56b33bd0d25c2974c740a3b8b (diff) |
2004-08-30 Jon Trowbridge <trow@ximian.com>
* mono/BusDriver.cs: Added. This is a class for interacting with
the org.freedesktop.DBus service.
* mono/Message.cs: Added a mechanism to expose the message that is
currently being dispatched via the static Message.Current
property. Added Message.Sender and Message.Destination
properties.
* mono/Handler.cs: Expose the dispatched message via
Message.Current when handling method calls.
* mono/Service.cs: Expose the dispatched message via
Message.Current when handling signal emissions.
* mono/Connection.cs: Bind dbus_bus_get_base_service via the
Connection.BaseService property.
Diffstat (limited to 'mono/BusDriver.cs')
-rw-r--r-- | mono/BusDriver.cs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/mono/BusDriver.cs b/mono/BusDriver.cs new file mode 100644 index 00000000..8b1fc680 --- /dev/null +++ b/mono/BusDriver.cs @@ -0,0 +1,39 @@ +namespace DBus +{ + + using System; + + public delegate void ServiceEventHandler (string serviceName); + + [Interface ("org.freedesktop.DBus")] + public abstract class BusDriver + { + [Method] + public abstract string[] ListServices (); + + [Method] + public abstract string GetServiceOwner (string serviceName); + + [Method] + public abstract UInt32 GetConnectionUnixUser (string connectionName); + + + [Signal] + public virtual event ServiceEventHandler ServiceCreated; + + [Signal] + public virtual event ServiceEventHandler ServiceDeleted; + + + static public BusDriver New (Connection connection) + { + Service service; + service = Service.Get (connection, "org.freedesktop.DBus"); + + BusDriver driver; + driver = (BusDriver) service.GetObject (typeof (BusDriver), "/org/freedesktop/DBus"); + + return driver; + } + } +} |