diff options
author | Owen Fraser-Green <owen@discobabe.net> | 2004-03-26 15:25:59 +0000 |
---|---|---|
committer | Owen Fraser-Green <owen@discobabe.net> | 2004-03-26 15:25:59 +0000 |
commit | 45277e93d8c8e18a04d1c28eb666337316726152 (patch) | |
tree | 46502f3644fad7cad6932e3d3267edf3a4a42eec /mono/Message.cs | |
parent | 7dd57040236dc34a313948f75b403a49df693649 (diff) |
Added signal support.
Diffstat (limited to 'mono/Message.cs')
-rw-r--r-- | mono/Message.cs | 41 |
1 files changed, 24 insertions, 17 deletions
diff --git a/mono/Message.cs b/mono/Message.cs index a1ff220c..54472d1e 100644 --- a/mono/Message.cs +++ b/mono/Message.cs @@ -80,14 +80,23 @@ namespace DBus } // If it doesn't exist then create a new Message around it Message message = null; + MessageType messageType = (MessageType) dbus_message_get_type(rawMessage); - switch ((MessageType) dbus_message_get_type(rawMessage)) { + switch (messageType) { case MessageType.Signal: message = new Signal(rawMessage, service); break; case MessageType.MethodCall: message = new MethodCall(rawMessage, service); break; + case MessageType.MethodReturn: + message = new MethodReturn(rawMessage, service); + break; + case MessageType.Error: + message = new ErrorMessage(rawMessage, service); + break; + default: + throw new ApplicationException("Unknown message type to wrap: " + messageType); } return message; @@ -140,6 +149,8 @@ namespace DBus { if (!dbus_connection_send (Service.Connection.RawConnection, RawMessage, ref serial)) throw new OutOfMemoryException (); + + Service.Connection.Flush(); } public void Send() @@ -245,23 +256,19 @@ namespace DBus protected virtual string Name { - set - { - if (value != this.name) - { - dbus_message_set_member (RawMessage, value); - this.name = value; - } + set { + if (value != this.name) { + dbus_message_set_member(RawMessage, value); + this.name = value; } - get - { - if (this.name == null) { - this.name = Marshal.PtrToStringAnsi(dbus_message_get_member(RawMessage)); - } - - - return this.name; + } + get { + if (this.name == null) { + this.name = Marshal.PtrToStringAnsi(dbus_message_get_member(RawMessage)); } + + return this.name; + } } public string Key @@ -356,7 +363,7 @@ namespace DBus private extern static IntPtr dbus_message_get_interface(IntPtr rawMessage); [DllImport("dbus-1")] - private extern static bool dbus_message_set_member (IntPtr rawMessage, string name); + private extern static bool dbus_message_set_member(IntPtr rawMessage, string name); [DllImport("dbus-1")] private extern static IntPtr dbus_message_get_member(IntPtr rawMessage); |