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(); } }