internal static Connection Wrap(IntPtr rawConnection)
{
if (slot > -1) {
- // If we already have a Connection object associated with this rawConnection then return it
+ // Maybe we already have a Connection object associated with
+ // this rawConnection then return it
IntPtr rawThis = dbus_connection_get_data (rawConnection, slot);
- return (DBus.Connection) ((GCHandle)rawThis).Target;
- }
- else
- {
- // If it doesn't exist then create a new connection around it
- return new Connection(rawConnection);
+ if (rawThis != IntPtr.Zero) {
+ return (DBus.Connection) ((GCHandle)rawThis).Target;
}
+ }
+
+ // If it doesn't exist then create a new connection around it
+ return new Connection(rawConnection);
}
public int Timeout
pathName = pathName.TrimStart('/');
this.path = pathName.Split('/');
this.pathName = "/" + pathName;
-
+
// Create the vTable and register the path
vTable = new DBusObjectPathVTable(new DBusObjectPathUnregisterFunction(Unregister_Called),
new DBusObjectPathMessageFunction(Message_Called));
{
get {
if (this.module == null) {
- this.module = ProxyAssembly.DefineDynamicModule(Name, "proxy.dll", true);
+ this.module = ProxyAssembly.DefineDynamicModule(Name, Name + ".proxy.dll", true);
}
return this.module;