public void Resolve() { if (disposed) { throw new InvalidOperationException("The service has been disposed and cannot be resolved. " + " Perhaps this service was removed?"); } // DBusManager.Bus.TrapSignals (); lock (this) { if (resolver != null) { throw new InvalidOperationException("The service is already running a resolve operation"); } ObjectPath path = DBusManager.Server.ServiceResolverNew(AvahiInterface, AvahiProtocol, Name ?? String.Empty, RegType ?? String.Empty, ReplyDomain ?? String.Empty, AvahiProtocol, LookupFlags.None); resolver = DBusManager.GetObject <IAvahiServiceResolver> (path); } resolver.Failure += OnResolveFailure; resolver.Found += OnResolveFound; // DBusManager.Bus.UntrapSignals (); }
private void DisposeResolver() { lock (this) { if (resolver != null) { resolver.Failure -= OnResolveFailure; resolver.Found -= OnResolveFound; resolver.Free(); resolver = null; } } }
private void DisposeResolver() { lock (this) { IAvahiServiceResolver resolver = this.resolver; if (resolver != null) { this.resolver = null; resolver.Failure -= OnResolveFailure; resolver.Found -= OnResolveFound; resolver.Free(); } } }
private void DisposeResolver() { lock (this) { if (resolver != null) { resolver.Failure -= OnResolveFailure; resolver.Found -= OnResolveFound; resolver.Free (); resolver = null; } } }
public void Resolve() { if (disposed) { throw new InvalidOperationException ("The service has been disposed and cannot be resolved. " + " Perhaps this service was removed?"); } DBusManager.Bus.TrapSignals (); lock (this) { if (resolver != null) { throw new InvalidOperationException ("The service is already running a resolve operation"); } ObjectPath path = DBusManager.Server.ServiceResolverNew (AvahiInterface, AvahiProtocol, Name ?? String.Empty, RegType ?? String.Empty, ReplyDomain ?? String.Empty, AvahiProtocol, LookupFlags.None); resolver = DBusManager.GetObject<IAvahiServiceResolver> (path); } resolver.Failure += OnResolveFailure; resolver.Found += OnResolveFound; DBusManager.Bus.UntrapSignals (); }