Example #1
0
 public void Unsubscribe(IVariableListener listener)
 {
     for (var i = 0; i < _listeners.Count; i++)
     {
         if (_listeners[i].Interface == listener)
         {
             _listeners.RemoveAt(i);
             break;
         }
     }
 }
Example #2
0
        protected internal virtual void AddListenerToMap(IDictionary <string, IList <IVariableListener <IDelegateVariableInstance <IBaseDelegateExecution> > > > listenerMap, string eventName,
                                                         IVariableListener <IDelegateVariableInstance <IBaseDelegateExecution> > listener, int index)
        {
            IList <IVariableListener <IDelegateVariableInstance <IBaseDelegateExecution> > > listeners;

            listenerMap.TryGetValue(eventName, out listeners);
            if (listeners == null)
            {
                listeners = new List <IVariableListener <IDelegateVariableInstance <IBaseDelegateExecution> > >();
                listenerMap[eventName] = listeners;
            }
            if (index < 0)
            {
                listeners.Add(listener);
            }
            else
            {
                listeners.Insert(index, listener);
            }
        }
Example #3
0
 public VariableListener(IVariableListener listener, IMappedVariableList list)
 {
     _listener = listener;
     _list     = list;
 }
Example #4
0
 public virtual void AddBuiltInVariableListener(string eventName, IVariableListener <IDelegateVariableInstance <IBaseDelegateExecution> > listener, int index)
 {
     AddListenerToMap(variableListeners, eventName, listener, index);
     AddListenerToMap(builtInVariableListeners, eventName, listener, index);
 }
Example #5
0
 public virtual void AddBuiltInVariableListener(string eventName, IVariableListener <IDelegateVariableInstance <IBaseDelegateExecution> > listener)
 {
     AddBuiltInVariableListener(eventName, listener, -1);
 }
Example #6
0
 public void Subscribe(IVariableListener listener, object owner)
 {
     _listeners.Add(new Listener {
         Interface = listener, Owner = owner
     });
 }