public ClientInfoTraceListener(ClientInfo clientInfo) { _clientInfo = clientInfo; }
private void InitializeXibo() { Thread.CurrentThread.Name = "UI Thread"; // Default the XmdsConnection ApplicationSettings.Default.XmdsLastConnection = DateTime.MinValue; // Override the default size if necessary if (ApplicationSettings.Default.SizeX != 0) { _clientSize = new Size((int)ApplicationSettings.Default.SizeX, (int)ApplicationSettings.Default.SizeY); Size = _clientSize; WindowState = FormWindowState.Normal; Location = new Point((int)ApplicationSettings.Default.OffsetX, (int)ApplicationSettings.Default.OffsetY); StartPosition = FormStartPosition.Manual; } else { _clientSize = SystemInformation.PrimaryMonitorSize; ApplicationSettings.Default.SizeX = _clientSize.Width; ApplicationSettings.Default.SizeY = _clientSize.Height; } // Show in taskbar ShowInTaskbar = ApplicationSettings.Default.ShowInTaskbar; // Setup the proxy information OptionForm.SetGlobalProxy(); _statLog = new StatLog(); this.FormClosing += new FormClosingEventHandler(MainForm_FormClosing); this.Shown += new EventHandler(MainForm_Shown); // Create the info form _clientInfoForm = new ClientInfo(); _clientInfoForm.Hide(); // Define the hotkey Keys key; try { key = (Keys)Enum.Parse(typeof(Keys), ApplicationSettings.Default.ClientInformationKeyCode.ToUpper()); } catch { // Default back to I key = Keys.I; } KeyStore.Instance.AddKeyDefinition("ClientInfo", key, ((ApplicationSettings.Default.ClientInfomationCtrlKey) ? Keys.Control : Keys.None)); // Register a handler for the key event KeyStore.Instance.KeyPress += Instance_KeyPress; // Trace listener for Client Info ClientInfoTraceListener clientInfoTraceListener = new ClientInfoTraceListener(_clientInfoForm); clientInfoTraceListener.Name = "ClientInfo TraceListener"; Trace.Listeners.Add(clientInfoTraceListener); // Log to disk? if (!string.IsNullOrEmpty(ApplicationSettings.Default.LogToDiskLocation)) { TextWriterTraceListener listener = new TextWriterTraceListener(ApplicationSettings.Default.LogToDiskLocation); Trace.Listeners.Add(listener); } Trace.WriteLine(new LogMessage("MainForm", "Client Initialised"), LogType.Info.ToString()); }
/// <summary> /// Create a schedule /// </summary> /// <param name="scheduleLocation"></param> public Schedule(string scheduleLocation, ref CacheManager cacheManager, ref ClientInfo clientInfoForm) { Trace.WriteLine(string.Format("XMDS Location: {0}", ApplicationSettings.Default.R23SignageClient_xmds_xmds)); // Get the key for this display _hardwareKey = new HardwareKey(); // Save the schedule location _scheduleLocation = scheduleLocation; // Create a new collection for the layouts in the schedule _layoutSchedule = new Collection<LayoutSchedule>(); // Set cachemanager _cacheManager = cacheManager; // Set client info form _clientInfoForm = clientInfoForm; // Create a Register Agent _registerAgent = new RegisterAgent(); _registerAgent.OnXmrReconfigure += _registerAgent_OnXmrReconfigure; _registerAgentThread = new Thread(new ThreadStart(_registerAgent.Run)); _registerAgentThread.Name = "RegisterAgentThread"; // Create a schedule manager _scheduleManager = new ScheduleManager(_cacheManager, scheduleLocation); _scheduleManager.OnNewScheduleAvailable += new ScheduleManager.OnNewScheduleAvailableDelegate(_scheduleManager_OnNewScheduleAvailable); _scheduleManager.OnRefreshSchedule += new ScheduleManager.OnRefreshScheduleDelegate(_scheduleManager_OnRefreshSchedule); _scheduleManager.OnScheduleManagerCheckComplete += _scheduleManager_OnScheduleManagerCheckComplete; _scheduleManager.ClientInfoForm = _clientInfoForm; // Create a schedule manager thread _scheduleManagerThread = new Thread(new ThreadStart(_scheduleManager.Run)); _scheduleManagerThread.Name = "ScheduleManagerThread"; // Create a Schedule Agent _scheduleAgent = new ScheduleAgent(); _scheduleAgent.CurrentScheduleManager = _scheduleManager; _scheduleAgent.ScheduleLocation = scheduleLocation; _scheduleAgent.HardwareKey = _hardwareKey.Key; _scheduleAgent.ClientInfoForm = _clientInfoForm; // Create a thread for the Schedule Agent to run in - but dont start it up yet. _scheduleAgentThread = new Thread(new ThreadStart(_scheduleAgent.Run)); _scheduleAgentThread.Name = "ScheduleAgentThread"; // Create a RequiredFilesAgent _requiredFilesAgent = new RequiredFilesAgent(); _requiredFilesAgent.CurrentCacheManager = cacheManager; _requiredFilesAgent.HardwareKey = _hardwareKey.Key; _requiredFilesAgent.ClientInfoForm = _clientInfoForm; _requiredFilesAgent.OnComplete += new RequiredFilesAgent.OnCompleteDelegate(LayoutFileModified); // Create a thread for the RequiredFiles Agent to run in - but dont start it up yet. _requiredFilesAgentThread = new Thread(new ThreadStart(_requiredFilesAgent.Run)); _requiredFilesAgentThread.Name = "RequiredFilesAgentThread"; // Library Agent _libraryAgent = new LibraryAgent(); _libraryAgent.CurrentCacheManager = _cacheManager; // Create a thread for the Library Agent to run in - but dont start it up yet. _libraryAgentThread = new Thread(new ThreadStart(_libraryAgent.Run)); _libraryAgentThread.Name = "LibraryAgent"; // Log Agent _logAgent = new LogAgent(); _logAgentThread = new Thread(new ThreadStart(_logAgent.Run)); _logAgentThread.Name = "LogAgent"; // XMR Subscriber _xmrSubscriber = new XmrSubscriber(); _xmrSubscriber.HardwareKey = _hardwareKey; _xmrSubscriber.ClientInfoForm = _clientInfoForm; _xmrSubscriber.OnCollectNowAction += _xmrSubscriber_OnCollectNowAction; // Thread start _xmrSubscriberThread = new Thread(new ThreadStart(_xmrSubscriber.Run)); _xmrSubscriberThread.Name = "XmrSubscriber"; }