private void RegisterDBus () { try { Monitor.Enter (this); DBusManager.Bus.TrapSignals (); if (entry_group != null) { entry_group.Reset (); return; } if (DBusManager.Server.GetState () != AvahiServerState.Running) { throw new ApplicationException ("Avahi Server is not in the Running state"); } ObjectPath path = DBusManager.Server.EntryGroupNew (); entry_group = DBusManager.GetObject<IAvahiEntryGroup> (path); Monitor.Exit (this); entry_group.StateChanged += OnEntryGroupStateChanged; } finally { Monitor.Exit (this); DBusManager.Bus.UntrapSignals (); } }
private void RegisterDBus() { try { Monitor.Enter(this); DBusManager.Bus.TrapSignals(); if (entry_group != null) { entry_group.Reset(); return; } if (DBusManager.Server.GetState() != AvahiServerState.Running) { throw new ApplicationException("Avahi Server is not in the Running state"); } ObjectPath path = DBusManager.Server.EntryGroupNew(); entry_group = DBusManager.GetObject <IAvahiEntryGroup> (path); //Monitor.Exit (this); entry_group.StateChanged += OnEntryGroupStateChanged; } finally { Monitor.Exit(this); DBusManager.Bus.UntrapSignals(); } }
public void Dispose() { lock (this) { if (entry_group != null) { entry_group.Reset(); entry_group.Free(); entry_group = null; } } }
public void Dispose () { lock (this) { if (entry_group != null) { entry_group.Reset (); entry_group.Free (); entry_group = null; } } }