00001 namespace DBus
00002 {
00003 using System;
00004 using System.Runtime.InteropServices;
00005 using System.Diagnostics;
00006
00007 public class ErrorMessage : Message
00008 {
00009 public ErrorMessage() : base(MessageType.Error)
00010 {
00011 }
00012
00013 internal ErrorMessage(IntPtr rawMessage, Service service) : base(rawMessage, service)
00014 {
00015 }
00016
00017 public ErrorMessage(Service service) : base(MessageType.Error, service)
00018 {
00019 }
00020
00021 public new string Name
00022 {
00023 get {
00024 if (this.name == null) {
00025 this.name = Marshal.PtrToStringAnsi(dbus_message_get_error_name(RawMessage));
00026 }
00027
00028 return this.name;
00029 }
00030
00031 set {
00032 if (value != this.name) {
00033 dbus_message_set_error_name(RawMessage, value);
00034 this.name = value;
00035 }
00036 }
00037 }
00038
00039 [DllImport("dbus-1")]
00040 private extern static bool dbus_message_set_error_name(IntPtr rawMessage, string name);
00041
00042 [DllImport("dbus-1")]
00043 private extern static IntPtr dbus_message_get_error_name(IntPtr rawMessage);
00044 }
00045 }