// calling class runs this to activate packcoordinator
        public void ActivatePackCoordinator( IPackCoordinator packcoordinator )
        {
            if( !packcoordinators.Contains( packcoordinator ) )
            {
                throw new Exception( "PackCoordinatorSelector: pack coordinator " + packcoordinator.ToString() + " not found" );
            }

            if( activecoordinator != packcoordinator )
            {
                logfile.WriteLine( "PackCoordinator selector: changing to coordinator " + packcoordinator.ToString() );
                // first disactivate others, then activate new one
                // the order of operations is important since they will probalby be using GiveORder, and GiveOrder overwrites old orders with new ones
                foreach( object packcoordinatorobject in packcoordinators )
                {
                    IPackCoordinator thispackcoordinator = packcoordinatorobject as IPackCoordinator;
                    if( thispackcoordinator != packcoordinator )
                    {
                        thispackcoordinator.Disactivate();
                    }
                }
                foreach( object packcoordinatorobject in packcoordinators )
                {
                    IPackCoordinator thispackcoordinator = packcoordinatorobject as IPackCoordinator;
                    if( thispackcoordinator == packcoordinator )
                    {
                        thispackcoordinator.Activate();
                    }
                }
                activecoordinator = packcoordinator;
            }
        }
Exemple #2
0
        // calling class runs this to activate packcoordinator
        public void ActivatePackCoordinator(IPackCoordinator packcoordinator)
        {
            if (!packcoordinators.Contains(packcoordinator))
            {
                throw new Exception("PackCoordinatorSelector: pack coordinator " + packcoordinator.ToString() + " not found");
            }

            if (activecoordinator != packcoordinator)
            {
                logfile.WriteLine("PackCoordinator selector: changing to coordinator " + packcoordinator.ToString());
                // first disactivate others, then activate new one
                // the order of operations is important since they will probalby be using GiveORder, and GiveOrder overwrites old orders with new ones
                foreach (object packcoordinatorobject in packcoordinators)
                {
                    IPackCoordinator thispackcoordinator = packcoordinatorobject as IPackCoordinator;
                    if (thispackcoordinator != packcoordinator)
                    {
                        thispackcoordinator.Disactivate();
                    }
                }
                foreach (object packcoordinatorobject in packcoordinators)
                {
                    IPackCoordinator thispackcoordinator = packcoordinatorobject as IPackCoordinator;
                    if (thispackcoordinator == packcoordinator)
                    {
                        thispackcoordinator.Activate();
                    }
                }
                activecoordinator = packcoordinator;
            }
        }
Exemple #3
0
 // calling class calls this for each packcoordinator it wants to use
 public void LoadCoordinator(IPackCoordinator packcoordinator)
 {
     if (!packcoordinators.Contains(packcoordinator))
     {
         packcoordinators.Add(packcoordinator);
     }
 }
Exemple #4
0
 public void DisactivateAll()
 {
     if (activecoordinator != null)
     {
         logfile.WriteLine("PackCoordinator selector: disactivating all");
         foreach (object packcoordinatorobject in packcoordinators)
         {
             IPackCoordinator thispackcoordinator = packcoordinatorobject as IPackCoordinator;
             thispackcoordinator.Disactivate();
         }
         activecoordinator = null;
     }
 }
 public void DisactivateAll()
 {
     if( activecoordinator != null )
     {
         logfile.WriteLine( "PackCoordinator selector: disactivating all" );
         foreach( object packcoordinatorobject in packcoordinators )
         {
             IPackCoordinator thispackcoordinator = packcoordinatorobject as IPackCoordinator;
             thispackcoordinator.Disactivate();
         }
         activecoordinator = null;
     }
 }
 // calling class calls this for each packcoordinator it wants to use
 public void LoadCoordinator( IPackCoordinator packcoordinator )
 {
     if( !packcoordinators.Contains( packcoordinator ) )
     {
         packcoordinators.Add( packcoordinator );
     }
 }