protected internal virtual Cons AddConnection(GoListener listener) { lock (this) { if (listener == null) { throw new LSysException("null listener"); } return(AddCons(new Cons(this, listener))); } }
protected internal static Cons RemoveAll(Cons head, GoListener listener) { if (head == null) { return(null); } if (head.Listener() == listener) { return(RemoveAll(head.next, listener)); } head.next = RemoveAll(head.next, listener); return(head); }
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(); } } }
public RemoveConnectionImpl(Bypass outerInstance, GoListener listener) { this.outerInstance = outerInstance; this.listener = listener; }
public abstract void Notify(GoListener listener, T a1, T a2, T a3);
protected internal Cons(Bypass owner, GoListener listener) { _owner = owner; _ref = new StrongRef(listener); }
public override void Defang(GoListener def) { _lner = def; }
public StrongRef(GoListener lner) { _lner = lner; }
public abstract void Defang(GoListener def);
public override void Notify(GoListener port, T e, T a, T b) { ((ActViewListener <T>)port).OnEmit(e); }
public override void Notify(GoListener lner, T value, T oldValue, T ignored) { ((VarViewListener <T>)lner).OnChange(value, oldValue); }