using System;
using System.Collections.Generic;
using System.Text;
using CommonMP.HYSSOP.CoreImpl.HSTools.HSExecutor;

using CommonMP.HYSSOP.CoreImpl.HSData;

namespace CommonMP.HYSSOP.OptionImpl.HSTools.HSExecutor
{
    public class HysExcecutorMainProgram
    {
        /// <summary><para>class outline:</para>
        /// <para>アプリケーションのメイン エントリ ポイントです。</para>
        /// </summary>
        /// <remarks><para>history:</para>
        /// <para>[CommonMP][ver 1.1.0][2010/12/08][新規作成]</para>
        /// </remarks>
        [STAThread]
        public static void Main(string[] sArgs)
        {
            try
            {
                for (int iCnt = 0; iCnt < 100; iCnt++)
                {
                    if (System.Diagnostics.Process.GetProcessesByName(
                        System.Diagnostics.Process.GetCurrentProcess().ProcessName).Length <= 1)
                    {   // 起動されていない場合のみ起動する。

                        HySExcecutor csExctr = new HySExcecutor();
                        csExctr.MakeSuiteList(sArgs);

                        csExctr.Work();
                        break;
                    }
                    else
                    {   // 前の起動状態が終了するまで待つ
                        System.Threading.Thread.Sleep(300);
                    }
                }
            }
            catch
            {
                // Do nothing
            }
        }
    }
}
