using Quadarax.Foundation.Core.Data;
namespace qdr.fnd.core.pqueue.Process
{
public interface IPsProcessProvider : IDisposable
{
///
/// Collection (dictionary) of running arguments for the process.
///
IDictionary Arguments { get; }
///
/// Flag signalizes if the process is running.
///
bool IsRunning { get; }
///
/// Working/processing item identifier. Points to ."/>
///
string ItemId { get; }
///
/// Validates the process arguments. Throws if validation fails.
///
void Validate();
///
/// Starts the process. Throws if the process is already running.
///
void Start();
///
/// Stops the process. Throws if the process is not running.
///
void Stop();
///
/// Waits till is false."/>
///
void WaitToDone();
}
}