Пример #1
0
 public virtual void AddAssociationListener(AssociationListenerI l)
 {
     lock(listeners)
     {
         listeners.Add(l);
     }
 }
Пример #2
0
 public static AssociationListenerI add(AssociationListenerI a, AssociationListenerI b)
 {
     if (a == null)
         return b;
     if (b == null)
         return a;
     return new Multicaster(a, b);
 }
Пример #3
0
 public static AssociationListenerI Remove(AssociationListenerI l, AssociationListenerI oldl)
 {
     if (l == oldl || l == null)
     {
         return null;
     }
     if (l is Multicaster)
     {
         return ((Multicaster) l).Remove(oldl);
     }
     return null;
 }
Пример #4
0
 public void RemoveAssociationListener(AssociationListenerI l)
 {
     fsm.RemoveAssociationListener(l);
 }
Пример #5
0
 public void AddAssociationListener(AssociationListenerI l)
 {
     fsm.AddAssociationListener(l);
 }
Пример #6
0
 public void RemoveAssociationListener(AssociationListenerI l)
 {
     lock(this)
     {
         assocListener = Multicaster.Remove(assocListener, l);
     }
 }
Пример #7
0
 public void AddAssociationListener(AssociationListenerI l)
 {
     lock(this)
     {
         assocListener = Multicaster.add(assocListener, l);
     }
 }
Пример #8
0
 public virtual void RemoveAssociationListener(AssociationListenerI l)
 {
     lock(listeners)
     {
         listeners.Remove(l);
     }
 }
Пример #9
0
 public Multicaster(AssociationListenerI a, AssociationListenerI b)
 {
     this.a = a;
     this.b = b;
 }
Пример #10
0
 private AssociationListenerI Remove(AssociationListenerI oldl)
 {
     if (oldl == a)
         return b;
     if (oldl == b)
         return a;
     AssociationListenerI a2 = Remove(a, oldl);
     AssociationListenerI b2 = Remove(b, oldl);
     if (a2 == a && b2 == b)
     {
         return this;
     }
     return add(a2, b2);
 }