summaryrefslogtreecommitdiffstats
path: root/mono/Message.cs
diff options
context:
space:
mode:
authorOwen Fraser-Green <owen@discobabe.net>2004-03-26 15:25:59 +0000
committerOwen Fraser-Green <owen@discobabe.net>2004-03-26 15:25:59 +0000
commit45277e93d8c8e18a04d1c28eb666337316726152 (patch)
tree46502f3644fad7cad6932e3d3267edf3a4a42eec /mono/Message.cs
parent7dd57040236dc34a313948f75b403a49df693649 (diff)
Added signal support.
Diffstat (limited to 'mono/Message.cs')
-rw-r--r--mono/Message.cs41
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);