summaryrefslogtreecommitdiffstats
path: root/mono/BusDriver.cs
diff options
context:
space:
mode:
authorJon Trowbridge <trow@ximian.com>2004-08-31 03:59:14 +0000
committerJon Trowbridge <trow@ximian.com>2004-08-31 03:59:14 +0000
commit4a77a2dd972e817a08a4571220c8406709af8c48 (patch)
tree9a4ce9513836303b870b0f266f18b76900caa186 /mono/BusDriver.cs
parent3a78ce17957de8f56b33bd0d25c2974c740a3b8b (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.cs39
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;
+ }
+ }
+}