/// <summary> /// Callback method for when control input is changed /// </summary> /// <param name="source"></param> /// <param name="e"></param> //private void OnInputChanged(object source, FileSystemEventArgs e) //{ // try // { // _inputWatcher.EnableRaisingEvents = false; // //code to read file here // //this.ControlInputStream.UpdateCurrentCommand(); // Console.WriteLine("le change occurred"); // } // finally // { // System.Threading.Thread.Sleep(300); // _inputWatcher.EnableRaisingEvents = true; // } //} /// <summary> /// Factory method that creates a streamStates object /// Expect streams to be empty /// </summary> /// <param name="filenames"></param> /// <returns></returns> public static StreamStates InitializeStreamStates(Filenames filenames) { var s = new StreamStates() { BidStreamModels = new BidStreamModel[4], Filenames = filenames, ListOfTodaysBids = new List <int>() }; s.HistoryStream = s.ReadHistoryFile(filenames.History); s.ListOfBids = s.HistoryStream.Bids; s.ControlInputStream = new ControlInputModel(); return(s); }
static void Main(string[] args) { try { var filenames = new Filenames(); filenames.Initialize(args); OutputHelper.SetUpDefaults(); var streamStates = StreamStates.InitializeStreamStates(filenames); //note control input watcher is on main thread, while other watchers are on separate threads streamStates.StartWatching(); } catch (Exception e) { Console.WriteLine("An error has occurred, with the following details: " + e.Message); } }