public TestCoreController(Func <TestCoreMessages.TypeMessage, string, int> callback)
        {
            this.Rack      = new Rack();
            this.DtvGen    = new DtvGen();
            this.Jig       = new Jig(this);
            this.Andon     = new Andon();
            this.Mod       = new Mod(this);
            this.MotoZPCBA = new MotoZPCBA();
            this.MQS       = new MQS();
            this.FlexFlow  = new FlexFlow(MQS.GetLogResult());
            this.PwrSupply = new PwrSupply();

            //Access to IniParser
            var parser = new FileIniDataParser();

            data = parser.ReadFile(CONFIG_APP_FILE);

            //Callback
            this.callback = callback;

            logLocalTestSummary = Boolean.Parse(GetValueConfiguration("SETTINGS", "TEST_SUMMARY_LOCAL_RECORD").ToLower());
            logLocalTestReport  = Boolean.Parse(GetValueConfiguration("SETTINGS", "TEST_RESULT_LOCAL_RECORD").ToLower());
            pathTest            = GetValueConfiguration("SETTINGS", "PATH_LOG_TEST").ToLower();
            runTest             = true;
            this.isPostEnable   = Boolean.Parse(GetValueConfiguration("SETTINGS", "POST_ENABLE").ToLower());
        }