view Implab/Components/IRunnable.cs @ 205:8200ab154c8a v2

Added ResetState to RunnableComponent to reset in case of failure Added StateChanged event to IRunnable Renamed Promise.SUCCESS -> Promise.Success Added Promise.FromException Renamed Bundle -> PromiseAll in PromiseExtensions
author cin
date Tue, 25 Oct 2016 17:40:33 +0300
parents 4d9830a9bbb8
children 7d07503621fe
line wrap: on
line source

using System;

namespace Implab.Components {
    public interface IRunnable {
        /// <summary>
        /// Starts this instance.
        /// </summary>
        IPromise Start();

        /// <summary>
        /// Stops this instance. After the instance is stopped it can't be started again, stopping should be treated as gracefull and async dispose.
        /// </summary>
        IPromise Stop();

        ExecutionState State { get; }

        event EventHandler<StateChangeEventArgs> StateChanged;

        Exception LastError { get; }
    }
}