using System; using System.Collections.Generic; using Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Enum; namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses { public interface IProcessStateDef { /// /// Collection of state information /// List StateContainer { get; } /// /// Get the process start struct linked to state of state machine /// /// state to search for information text /// process state struct of the attached state /// /// - Initial /// ProcessStateStruct GetProcessStateStructOfState(ProcessState stateMachineState); /// /// Get the first production process state name to start the state machine with this. /// It has to be a process labeled with ProductionProcessNo == 0. /// /// process attached to the state /// /// - Initial /// ProcessState GetStateOfFirstProcess(); /// /// Get the production process number of this process /// /// process to look for state info text /// the production process number /// /// - Initial /// UInt32? GetProductionProcessNoOfProcess(IProductionProcess process); /// /// Get the process linked to state of state machine /// /// state to search for information text /// process attached to the state /// /// - Initial /// IProductionProcess GetProcessOfState(ProcessState stateMachineState); /// /// Get the current information of the state machine state /// /// state to search for information text /// information attached to state depending on region /// /// - Initial /// /// /// - If state == null return error message. /// String GetStateInfoOfState(ProcessState? stateMachineState); /// /// Get the info text from production process /// /// process to look for state info text /// information attached to process depending on region /// /// - Initial /// String GetStateInfoOfProcess(IProductionProcess process); /// /// Get the state machine state of the text /// /// information text to search if state is assigned /// state attached to information text /// /// - Initial /// ProcessState GetStateOfInfoText(String text); /// /// Get the state machine state from for the process /// /// process to look for state info text /// state attached to process /// /// - Initial /// ProcessState GetStateOfProcess(IProductionProcess process); /// /// Get number of EOL relevant processes for statistic e.g. progress bar /// /// number of initialized processes /// /// - Initial /// /// /// - Used marker for production relevant processes /// Int32 GetNumberOfInitializedProcesses(); /// /// Get a sorted list of all production processes in order of the execution sequence /// /// list of initialized processes /// /// - Initial /// /// /// - Used marker for production relevant processes /// /// /// - Changed to sorted list by production process number /// List GetAllProductionProcesses(); } }