using System.Collections.Generic;

namespace MECF.Framework.Common.MultiProcess.ProcessCenter
{
    public static class MULTIPROCESS
    {
        //public static MaintainManager maintainManager { private get; set; }
        public static MultiProcessManager _multiprocessmanager { private get; set; }

        public static List<string> QueryAllProcessInformation()
        {
            return _multiprocessmanager.QueryAllProcessInformation();
        }

        public static string QueryMyProcessInformation(string sicMachineName, string pmName)
        {
            return _multiprocessmanager.QueryMyProcessInformation(sicMachineName, pmName);
        }


        public static List<PMProcessData> QueryAllProcessData()
        {
            return _multiprocessmanager.QueryAllProcessData();
        }

        public static bool CanEnterProcessNow(string clientInformation,string sicMachineName, string pmName, string state, out string result)
        {
            return _multiprocessmanager.CanEnterProcessNow(clientInformation,sicMachineName, pmName, state, out result);
        }

        public static bool CanEnterProcessIdleNow(string clientInformation,string sicMachineName, string pmName, string state, out string result)
        {
            return _multiprocessmanager.CanEnterProcessIdleNow(clientInformation,sicMachineName, pmName, state, out result);
        }

        public static bool UpdateChamberState(string clientInformation, string sicMachineName, string pmName, string state ,string heatbase)
        {
            return _multiprocessmanager.UpdateChamberState(clientInformation, sicMachineName, pmName, state, heatbase);
        }


        public static void OffLineReset()
        {
            _multiprocessmanager.OffLineReset();
        }
    }
}