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/Message.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/Message.cs')
-rw-r--r-- | mono/Message.cs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/mono/Message.cs b/mono/Message.cs index 54472d1e..5aa3542f 100644 --- a/mono/Message.cs +++ b/mono/Message.cs @@ -8,6 +8,25 @@ namespace DBus public class Message { + private static Stack stack = new Stack (); + + static public Message Current { + get + { + return stack.Count > 0 ? (Message) stack.Peek () : null; + } + } + + static internal void Push (Message message) + { + stack.Push (message); + } + + static internal void Pop () + { + stack.Pop (); + } + /// <summary> /// A pointer to the underlying Message structure @@ -294,6 +313,22 @@ namespace DBus } } + public string Sender + { + get + { + return Marshal.PtrToStringAnsi(dbus_message_get_sender(RawMessage)); + } + } + + public string Destination + { + get + { + return Marshal.PtrToStringAnsi(dbus_message_get_destination(RawMessage)); + } + } + protected int Slot { get @@ -373,5 +408,8 @@ namespace DBus [DllImport("dbus-1")] private extern static IntPtr dbus_message_get_destination(IntPtr rawMessage); + + [DllImport("dbus-1")] + private extern static IntPtr dbus_message_get_sender(IntPtr rawMessage); } } |