Exemple #1
0
        private void AlgorithmManager_EventHandler(StackAlgorithmManager aAlgManager, StackAlgorithmManager.TEvent aEvent)
        {
            if (EventHandler != null)
            {
                switch (aEvent)
                {
                case StackAlgorithmManager.TEvent.EAlgorithmStarted:
                    EventHandler(TEvent.EStackBuildingStarted, this);
                    break;

                case StackAlgorithmManager.TEvent.EAlgorithmProgress:
                    iProgress = aAlgManager.Progress;
                    EventHandler(TEvent.EStackBuildingProgress, this);
                    break;

                case StackAlgorithmManager.TEvent.EAlgorithmComplete:
                    // Stop listening to algorithm manager events now that the reconstruction
                    // process is complete.
                    aAlgManager.EventHandler     -= new StackAlgorithmManager.AlgorithmEventHandler(AlgorithmManager_EventHandler);
                    aAlgManager.ExceptionHandler -= new StackAlgorithmManager.AlgorithmExceptionHandler(AlgorithmManager_ExceptionHandler);

                    // Get rid of alg manager
                    aAlgManager.Dispose();

                    // Report that we're done!
                    EventHandler(TEvent.EStackBuildingComplete, this);
                    break;
                }
            }
        }
Exemple #2
0
 private void AlgorithmManager_ExceptionHandler(StackAlgorithmManager aAlgManager, Exception aException)
 {
     if (ExceptionHandler != null)
     {
         ExceptionHandler(aException, this);
     }
 }
Exemple #3
0
        public void Reconstruct(TSynchronicity aSynchronicity)
        {
            StackAlgorithmManager algorithmManager = new StackAlgorithmManager(this);

            algorithmManager.EventHandler     += new StackAlgorithmManager.AlgorithmEventHandler(AlgorithmManager_EventHandler);
            algorithmManager.ExceptionHandler += new StackAlgorithmManager.AlgorithmExceptionHandler(AlgorithmManager_ExceptionHandler);
            algorithmManager.Reconstruct(aSynchronicity);
        }