protected internal virtual void RemoveConnection(GoListener listener) { lock (this) { if (IsDispatching()) { _pendingRuns = Append(_pendingRuns, new RemoveConnectionImpl(this, listener)); } else { _listeners = Cons.RemoveAll(_listeners, listener); ConnectionRemoved(); } } }
protected internal virtual void Disconnect(Cons cons) { lock (this) { if (IsDispatching()) { _pendingRuns = Append(_pendingRuns, new DisconnectImpl(this, cons)); } else { _listeners = Cons.Remove(_listeners, cons); ConnectionRemoved(); } } }
protected internal virtual Cons AddCons(Cons cons) { lock (this) { if (IsDispatching()) { _pendingRuns = Append(_pendingRuns, new AddConsImpl(this, cons)); } else { _listeners = Cons.Insert(_listeners, cons); ConnectionAdded(); } return(cons); } }
protected internal static Cons Insert(Cons head, Cons cons) { if (head == null) { return(cons); } else if (cons._priority > head._priority) { cons.next = head; return(cons); } else { head.next = Insert(head.next, cons); return(head); } }
public override void Action(object o) { outerInstance._listeners = Cons.RemoveAll(outerInstance._listeners, listener); outerInstance.ConnectionRemoved(); }
public DisconnectImpl(Bypass outerInstance, Cons cons) { this.outerInstance = outerInstance; this.cons = cons; }
public override void Action(object o) { outerInstance._listeners = Cons.Insert(outerInstance._listeners, cons); outerInstance.ConnectionAdded(); }
public AddConsImpl(Bypass outerInstance, Cons cons) { this.outerInstance = outerInstance; this.cons = cons; }
public override GoListener Get(Cons cons) { return(_lner); }
public abstract GoListener Get(Cons cons);