static void Main(string[] args) { myState = ClientState.Init; string paramStr = args.Count() >= 2 ? args[1] : ""; myClient = new ProcessWrapper(); myClient.Init(null, IOModelHelper.GetIOType(args[0]), paramStr, ProcessControl); myClient.UpdateStatus(ProcessWrapper.ProcesssStatus.Running); Console.WriteLine("In the client...console"); myClient.SendProcessMessage("In the client...msg"); for (int i = 10; i > 0; i--) { myClient.SendProcessMessage("[CLIENT] Wait for sync..." + i.ToString()); } while (myState != ClientState.Ending && myClient.CheckProgress() != ProcessWrapper.ProcesssStatus.Ending) { System.Threading.Thread.Sleep(750); if (myState == ClientState.Running) { myClient.SendProcessMessage("[CLIENT] Wait..."); } } myClient.SendProcessMessage("[CLIENT] quitting client process..."); myClient.SendProcessMessage("QUIT"); // mark to the server that we're done... myClient.UpdateStatus(ProcessWrapper.ProcesssStatus.Ending); while (myClient.WaitingForWrite()) { myClient.CheckProgress(); } myClient.Cleanup(); }
public bool Init(string procLocation, IOType useIOType, string modelParams, ProcessControlHandler clientHandler) { currentStatus = ProcesssStatus.Init; // setup IOModel thisIO = IOModelHelper.IOModelFactory(useIOType, modelParams, IOModelDataHandler); thisIO.InitProcess(procLocation); thisIO.InitComms(); thisIO.StartProcess(); IncomingProcessData += clientHandler; currentStatus = ProcesssStatus.Running; return(false); }