예제 #1
0
        /// <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);
        }
예제 #2
0
        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);
            }
        }