Initialize() public method

Initializes the controller with a set of ProgressStepDefinition
public Initialize ( ) : void
return void
Example #1
0
        /// <summary>
        /// Creates initializes <see cref="SequentialProgressController"/>
        /// </summary>
        /// <param name="serviceProvider">Service provider instance. Required.</param>
        /// <param name="stepFactory"><see cref="IProgressStepFactory"/> to use when create steps from definitions</param>
        /// <param name="stepsDefinition">One or more instance of <see cref="IProgressStepDefinition"/></param>
        /// <returns>The initialized <see cref="SequentialProgressController"/></returns>
        public static SequentialProgressController Create(IServiceProvider serviceProvider, IProgressStepFactory stepFactory, params IProgressStepDefinition[] stepsDefinition)
        {
            SequentialProgressController controller = new SequentialProgressController(serviceProvider);

            controller.Initialize(stepFactory, stepsDefinition);
            return(controller);
        }
        public static IProgressEvents StartAsync(IServiceProvider sp, IProgressControlHost host, Func<IProgressController, ProgressStepDefinition[]> stepFactory)
        {
            if (sp == null)
            {
                throw new ArgumentNullException(nameof(sp));
            }

            if (host == null)
            {
                throw new ArgumentNullException(nameof(host));
            }

            if (stepFactory == null)
            {
                throw new ArgumentNullException(nameof(stepFactory));
            }

            Debug.Assert(ThreadHelper.CheckAccess(), "Expected to be called on the UI thread");

            // Initialize a controller and an observer
            var controller = new SequentialProgressController(sp);
            controller.Initialize(stepFactory(controller));

            IVsOutputWindowPane sonarLintPane = VsShellUtils.GetOrCreateSonarLintOutputPane(sp);

            bool logFullMessage;
#if DEBUG
            logFullMessage = true;
#else
            logFullMessage = false;
#endif
            var notifier = new VsOutputWindowPaneNotifier(sp,
                sonarLintPane,
                ensureOutputVisible: true,
                messageFormat: Strings.UnexpectedWorkflowError,
                logFullException: logFullMessage);
            controller.ErrorNotificationManager.AddNotifier(notifier);

            Observe(controller, host);
            controller.RunOnFinished(r => observedControllersMap.Remove(controller));
#pragma warning disable 4014 // We do want to start and forget. All the errors will be forwarded via the error notification manager
            controller.Start();
#pragma warning restore 4014

            return controller;
        }
 /// <summary>
 /// Creates initializes <see cref="SequentialProgressController"/>
 /// </summary>
 /// <param name="serviceProvider">Service provider instance. Required.</param>
 /// <param name="stepFactory"><see cref="IProgressStepFactory"/> to use when create steps from definitions</param>
 /// <param name="stepsDefinition">One or more instance of <see cref="IProgressStepDefinition"/></param>
 /// <returns>The initialized <see cref="SequentialProgressController"/></returns>
 public static SequentialProgressController Create(IServiceProvider serviceProvider, IProgressStepFactory stepFactory, params IProgressStepDefinition[] stepsDefinition)
 {
     SequentialProgressController controller = new SequentialProgressController(serviceProvider);
     controller.Initialize(stepFactory, stepsDefinition);
     return controller;
 }
 /// <summary>
 /// Initializes the specified controller with custom error handler that will allow assertions to be raised
 /// </summary>
 /// <param name="controller">Controller instance to initialize</param>
 /// <param name="definitions">The step definitions to initialize the controller with</param>
 /// <returns>The notifier that was used for test assert exceptions</returns>
 public static ConfigurableErrorNotifier InitializeWithTestErrorHandling(SequentialProgressController controller, params ProgressStepDefinition[] definitions)
 {
     controller.Initialize(definitions);
     return ConfigureToThrowAssertExceptions(controller);
 }