diff options
Diffstat (limited to 'mono/Server.cs')
| -rw-r--r-- | mono/Server.cs | 148 | 
1 files changed, 0 insertions, 148 deletions
diff --git a/mono/Server.cs b/mono/Server.cs deleted file mode 100644 index e39b7ca2..00000000 --- a/mono/Server.cs +++ /dev/null @@ -1,148 +0,0 @@ -namespace DBus -{ -  using System; -  using System.Runtime.InteropServices; -  using System.Diagnostics; -   -  public class Server -  { -    private IntPtr rawServer; -     -    /// <summary> -    /// The current slot number -    /// </summary> -    private static int slot = -1; - -    private string address = null; -     -    private Server(IntPtr rawServer) -    { -      RawServer = rawServer; -    } -     -    public Server(string address) -    { -      Error error = new Error(); -      error.Init(); -      RawServer = dbus_server_listen(address, ref error); -      if (RawServer != IntPtr.Zero){ -	dbus_server_unref(RawServer); -      } else { -	throw new DBusException(error); -      } -    } -     -    ~Server() -    { -      if (RawServer != IntPtr.Zero) { -	dbus_server_unref(rawServer); -      } -       -      RawServer = IntPtr.Zero; -    } -     -    public string Address  -    { -      get -	{ -	  if (address == null) { -	    address = dbus_server_get_address(rawServer); -	  } -	   -	  return address; -	} -    } - -    private int Slot -    { -      get  -	{ -	  if (slot == -1)  -	    { -	      // We need to initialize the slot -	      if (!dbus_server_allocate_data_slot (ref slot)) -		throw new OutOfMemoryException (); -	       -	      Debug.Assert (slot >= 0); -	    } -	   -	  return slot; -	} -    } - -    internal IntPtr RawServer  -    { -      get  -	{ -	  return rawServer; -	} -      set  -	{ -	  if (value == rawServer) -	    return; -	   -	  if (rawServer != IntPtr.Zero)  -	    { -	      // Get the reference to this -	      IntPtr rawThis = dbus_server_get_data (rawServer, Slot); -	      Debug.Assert (rawThis != IntPtr.Zero); -	       -	      // Blank over the reference -	      dbus_server_set_data (rawServer, Slot, IntPtr.Zero, IntPtr.Zero); -	       -	      // Free the reference -	      ((GCHandle) rawThis).Free(); -	       -	      // Unref the connection -	      dbus_server_unref(rawServer); -	    } -	   -	  this.rawServer = value; -	   -	  if (rawServer != IntPtr.Zero)  -	    { -	      GCHandle rawThis; -	       -	      dbus_server_ref (rawServer); -	       -	      // We store a weak reference to the C# object on the C object -	      rawThis = GCHandle.Alloc (this, GCHandleType.WeakTrackResurrection); -	       -	      dbus_server_set_data(rawServer, Slot, (IntPtr) rawThis, IntPtr.Zero); -	    } -	} -    } - -    [DllImport ("dbus-1", EntryPoint="dbus_server_listen")] -    private extern static IntPtr dbus_server_listen(string address, ref Error error); - -    [DllImport ("dbus-1", EntryPoint="dbus_server_unref")] -    private extern static IntPtr dbus_server_unref(IntPtr rawServer); - -    [DllImport ("dbus-1", EntryPoint="dbus_server_ref")] -    private extern static void dbus_server_ref(IntPtr rawServer); - -    [DllImport ("dbus-1", EntryPoint="dbus_server_disconnect")] -    private extern static void dbus_server_disconnect(IntPtr rawServer); - -    [DllImport ("dbus-1", EntryPoint="dbus_server_get_address")] -    private extern static string dbus_server_get_address(IntPtr rawServer); - -    [DllImport ("dbus-1", EntryPoint="dbus_server_set_data")] -    private extern static bool dbus_server_set_data(IntPtr rawServer, -						    int slot, -						    IntPtr data, -						    IntPtr freeDataFunc); - -    [DllImport ("dbus-1", EntryPoint="dbus_server_get_data")] -    private extern static IntPtr dbus_server_get_data(IntPtr rawServer, -						      int slot); - -    [DllImport ("dbus-1", EntryPoint="dbus_server_allocate_data_slot")] -    private extern static bool dbus_server_allocate_data_slot (ref int slot); -     -    [DllImport ("dbus-1", EntryPoint="dbus_server_free_data_slot")] -    private extern static void dbus_server_free_data_slot (ref int slot); - -  } -}  | 
