using System;
using System.Reflection;
using Tapeti.Config;
namespace Tapeti.Flow
{
///
///
/// Provides information about the handler for the flow.
///
public interface IFlowHandlerContext : IDisposable
{
///
/// Provides access to the Tapeti config.
///
ITapetiConfig Config { get; }
///
/// An instance of the controller which starts or continues the flow.
///
object Controller { get; }
///
/// Information about the method which starts or continues the flow.
///
MethodInfo Method { get; }
///
/// Access to the controller message context if this is a continuated flow.
/// Will be null when in a starting flow.
///
IControllerMessageContext ControllerMessageContext { get; }
}
}