From c916037773d7d3d8d37ca2c5a8899b7b728e377d Mon Sep 17 00:00:00 2001 From: Owen Fraser-Green Date: Tue, 23 Mar 2004 12:10:32 +0000 Subject: First checkin of the Mono bindings. --- mono/Error.cs | 53 ++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 42 insertions(+), 11 deletions(-) (limited to 'mono/Error.cs') diff --git a/mono/Error.cs b/mono/Error.cs index dab4df1f..d89a013a 100644 --- a/mono/Error.cs +++ b/mono/Error.cs @@ -1,29 +1,60 @@ -namespace DBus { - +namespace DBus +{ + using System; using System.Runtime.InteropServices; + using System.Diagnostics; // FIXME add code to verify that size of DBus.Error // matches the C code. - + [StructLayout (LayoutKind.Sequential)] - internal struct Error { + internal struct Error + { internal IntPtr name; internal IntPtr message; private int dummies; private IntPtr padding1; - - internal void Init () { - dbus_error_init (ref this); + + public void Init() + { + dbus_error_init(ref this); + } + + public void Free() + { + dbus_error_free(ref this); } - internal void Free () { - dbus_error_free (ref this); + public string Message + { + get + { + return System.Runtime.InteropServices.Marshal.PtrToStringAnsi(message); + } } - [DllImport (DBus.Internals.DBusLibname, EntryPoint="dbus_error_init")] + public string Name + { + get + { + return System.Runtime.InteropServices.Marshal.PtrToStringAnsi(name); + } + } + + public bool IsSet + { + get + { + return (name != IntPtr.Zero); + } + } + + + [DllImport ("dbus-1", EntryPoint="dbus_error_init")] private extern static void dbus_error_init (ref Error error); - [DllImport (DBus.Internals.DBusLibname, EntryPoint="dbus_error_free")] + + [DllImport ("dbus-1", EntryPoint="dbus_error_free")] private extern static void dbus_error_free (ref Error error); } } -- cgit