private void LoadTemplates() { lvwTemplates.Items.Clear(); foreach (QuickMonTemplate t in (from t in QuickMonTemplate.GetAllTemplates() orderby t.Name select t)) { if ( cboTypeFilter.SelectedIndex == 5 || ( (cboTypeFilter.SelectedIndex == 0 && t.TemplateType == TemplateType.MonitorPack) || (cboTypeFilter.SelectedIndex == 1 && t.TemplateType == TemplateType.CollectorHost) || (cboTypeFilter.SelectedIndex == 2 && t.TemplateType == TemplateType.CollectorAgent) || (cboTypeFilter.SelectedIndex == 3 && t.TemplateType == TemplateType.NotifierHost) || (cboTypeFilter.SelectedIndex == 4 && t.TemplateType == TemplateType.NotifierAgent) ) ) { ListViewGroup lg = (from ListViewGroup g in lvwTemplates.Groups where (g.Header == "Monitor Pack" && t.TemplateType == TemplateType.MonitorPack) || (g.Header == "Collector Host" && t.TemplateType == TemplateType.CollectorHost) || (g.Header == "Collector Agent" && t.TemplateType == TemplateType.CollectorAgent) || (g.Header == "Notifier Host" && t.TemplateType == TemplateType.NotifierHost) || (g.Header == "Notifier Agent" && t.TemplateType == TemplateType.NotifierAgent) select g).FirstOrDefault(); ListViewItem lvi = new ListViewItem(t.Name); lvi.SubItems.Add(t.ForClass); lvi.SubItems.Add(t.Description); lvi.Group = lg; lvi.Tag = t; lvwTemplates.Items.Add(lvi); } } }
private void LoadNotifierHostItems() { lvwAgentType.Items.Clear(); lvwAgentType.Groups.Clear(); ListViewGroup generalGroup = new ListViewGroup("General"); lvwAgentType.Groups.Add(generalGroup); ListViewItem lviDefaultNotifier = new ListViewItem("Default Notifier"); lviDefaultNotifier.SubItems.Add("Creates a default notifier with 'In Memory' agent"); lviDefaultNotifier.Group = generalGroup; lviDefaultNotifier.Tag = NotifierHost.FromXml("<notifierHost name=\"Default Notifier\" enabled=\"True\" alertLevel=\"Warning\" detailLevel=\"Detail\" attendedOptionOverride=\"OnlyAttended\"><notifierAgents><notifierAgent name=\"Memory agent\" type=\"QuickMon.Notifiers.InMemoryNotifier\" enabled=\"True\"><config><inMemory maxEntryCount=\"99999\" /></config></notifierAgent></notifierAgents></notifierHost>"); lvwAgentType.Items.Add(lviDefaultNotifier); ListViewGroup templatesGroup = new ListViewGroup("Templates"); lvwAgentType.Groups.Add(templatesGroup); foreach (QuickMonTemplate qt in QuickMonTemplate.GetAllTemplates().Where(t => t.TemplateType == TemplateType.NotifierHost)) { ListViewItem lviTemplateCollector = new ListViewItem(qt.Name); lviTemplateCollector.SubItems.Add(qt.Description); lviTemplateCollector.Group = templatesGroup; lviTemplateCollector.Tag = qt; lvwAgentType.Items.Add(lviTemplateCollector); } }
private void LoadMonitorPackItems() { lvwAgentType.Items.Clear(); lvwAgentType.Groups.Clear(); ListViewGroup generalGroup = new ListViewGroup("General"); lvwAgentType.Groups.Add(generalGroup); ListViewItem lviEmptyMonitorPack = new ListViewItem("Empty monitor pack"); lviEmptyMonitorPack.SubItems.Add("Creates a blank monitor pack with no collectors"); lviEmptyMonitorPack.Group = generalGroup; lviEmptyMonitorPack.Tag = Properties.Resources.BlankTemplateMonitorPack; lvwAgentType.Items.Add(lviEmptyMonitorPack); ListViewGroup templatesGroup = new ListViewGroup("Templates"); lvwAgentType.Groups.Add(templatesGroup); foreach (QuickMonTemplate qt in QuickMonTemplate.GetAllTemplates().Where(t => t.TemplateType == TemplateType.MonitorPack)) { ListViewItem lviTemplateCollector = new ListViewItem(qt.Name); lviTemplateCollector.SubItems.Add(qt.Description); lviTemplateCollector.Group = templatesGroup; lviTemplateCollector.Tag = qt; lvwAgentType.Items.Add(lviTemplateCollector); } }
private void LoadCollectorHostItems() { lvwAgentType.Items.Clear(); lvwAgentType.Groups.Clear(); ListViewGroup generalGroup = new ListViewGroup("General"); lvwAgentType.Groups.Add(generalGroup); ListViewItem lviEmptyCollector = new ListViewItem("Folder/Blank collector"); //lviEmptyCollector.SubItems.Add("Creates a blank collector with no agents"); //lviEmptyCollector.Group = generalGroup; //lviEmptyCollector.Tag = new CollectorHost() { Name = "Folder" }; //lvwAgentType.Items.Add(lviEmptyCollector); //lviEmptyCollector = new ListViewItem("Folder/Blank Collector"); lviEmptyCollector.SubItems.Add("Creates a blank collector with no agents"); lviEmptyCollector.Group = generalGroup; lviEmptyCollector.Tag = CollectorHost.FromXml("<collectorHost uniqueId=\"\" dependOnParentId=\"\" name=\"[[FolderName:]]\"><collectorAgents agentCheckSequence=\"All\"></collectorAgents></collectorHost>").Clone(true); lvwAgentType.Items.Add(lviEmptyCollector); //<collectorHost uniqueId=\"\" dependOnParentId=\"\" name=\"[[FolderName:]]\"><collectorAgents agentCheckSequence="All"></collectorAgents></collectorHost> ListViewItem lviPingCollector = new ListViewItem("Ping (ICMP)"); lviPingCollector.SubItems.Add("Creates a collector with a Ping (ICMP) agent"); lviPingCollector.Group = generalGroup; lviPingCollector.Tag = CollectorHost.FromXml("<collectorHost uniqueId=\"\" dependOnParentId=\"\" name=\"Ping [[MachineName:localhost]]\"><collectorAgents agentCheckSequence=\"All\"><collectorAgent name=\"Ping [[MachineName:localhost]]\" type=\"QuickMon.Collectors.PingCollector\" enabled=\"True\"><config><entries><entry pingMethod=\"Ping\" address=\"[[MachineName:localhost]]\" maxTimeMS=\"[[maxTimeMS:1000]]\" timeOutMS=\"[[timeOutMS:5000]]\" /></entries></config></collectorAgent></collectorAgents></collectorHost>").Clone(true); lvwAgentType.Items.Add(lviPingCollector); lviPingCollector = new ListViewItem("Ping (http)"); lviPingCollector.SubItems.Add("Creates a collector with a Ping (http) agent"); lviPingCollector.Group = generalGroup; lviPingCollector.Tag = CollectorHost.FromXml("<collectorHost uniqueId=\"\" dependOnParentId=\"\" name=\"Ping [[MachineName:localhost]]\"><collectorAgents agentCheckSequence=\"All\"><collectorAgent name=\"Ping [[MachineName:localhost]]\" type=\"QuickMon.Collectors.PingCollector\" enabled=\"True\"><config><entries><entry pingMethod=\"Http\" address=\"http://[[MachineName:localhost]]\" maxTimeMS=\"[[maxTimeMS:1000]]\" timeOutMS=\"[[timeOutMS:5000]]\" /></entries></config></collectorAgent></collectorAgents></collectorHost>").Clone(true); lvwAgentType.Items.Add(lviPingCollector); ListViewGroup templatesGroup = new ListViewGroup("Templates"); lvwAgentType.Groups.Add(templatesGroup); foreach (QuickMonTemplate qt in QuickMonTemplate.GetAllTemplates().Where(t => t.TemplateType == TemplateType.CollectorHost)) { ListViewItem lviTemplateCollector = new ListViewItem(qt.Name); lviTemplateCollector.SubItems.Add(qt.Description); lviTemplateCollector.Group = templatesGroup; lviTemplateCollector.Tag = qt; lvwAgentType.Items.Add(lviTemplateCollector); } }
private void LoadTemplates() { Text = "Select Template - "; switch (FilterTemplatesBy) { case TemplateType.CollectorHost: Text += "Collector Host"; break; case TemplateType.CollectorAgent: Text += "Collector Agent"; break; case TemplateType.NotifierHost: Text += "Notifier Host"; break; case TemplateType.NotifierAgent: Text += "Notifier Agent"; break; default: Text += "Monitor pack"; break; } lvwTemplates.Items.Clear(); foreach (QuickMonTemplate template in (from p in QuickMonTemplate.GetAllTemplates() where p.TemplateType == FilterTemplatesBy orderby p.Name select p)) { try { ListViewItem lvi = new ListViewItem(template.Name); lvi.ImageIndex = 0; string details = template.Description.Trim().Length == 0 ? template.Config : template.Description; lvi.SubItems.Add(details); lvi.Tag = template; lvwTemplates.Items.Add(lvi); } catch { } } }
private void LoadCollectorAgents() { lvwAgentType.Items.Clear(); lvwAgentType.Groups.Clear(); ListViewGroup generalGroup = new ListViewGroup("General"); lvwAgentType.Groups.Add(generalGroup); foreach (string categoryName in (from a in RegisteredAgentCache.Agents where ((a.IsCollector && selectingCollectorAgents) || (selectingNotifierAgents && a.IsNotifier)) && a.CategoryName != "Test" && a.CategoryName != "General" group a by a.CategoryName into g orderby g.Key select g.Key)) { lvwAgentType.Groups.Add(new ListViewGroup(categoryName)); } ListViewGroup testGroup = new ListViewGroup("Test"); lvwAgentType.Groups.Add(testGroup); ListViewItem lvi; foreach (RegisteredAgent ar in (from a in RegisteredAgentCache.Agents where (selectingCollectorAgents && a.IsCollector) || (selectingNotifierAgents && a.IsNotifier) orderby a.Name select a)) { try { ListViewGroup agentGroup = (from ListViewGroup gr in lvwAgentType.Groups where gr.Header.ToLower() == ar.CategoryName.ToLower() select gr).FirstOrDefault(); if (agentGroup == null) { agentGroup = generalGroup; } lvi = new ListViewItem(ar.DisplayName); string details = ar.ClassName; System.Reflection.Assembly a = System.Reflection.Assembly.LoadFrom(ar.AssemblyPath); details += ", Version: " + a.GetName().Version.ToString(); details += ", Assembly: " + System.IO.Path.GetFileName(a.Location); if (agentGroup == testGroup) { lvi.ImageIndex = 1; } else { lvi.ImageIndex = 0; } lvi.Group = agentGroup; lvi.SubItems.Add(details); lvi.Tag = ar; lvwAgentType.Items.Add(lvi); if (ar.Name == InitialRegistrationName) { lvi.Selected = true; } } catch { } } ListViewGroup templatesGroup = new ListViewGroup("Templates"); lvwAgentType.Groups.Add(templatesGroup); foreach (QuickMonTemplate qt in QuickMonTemplate.GetAllTemplates().Where(t => (selectingCollectorAgents && t.TemplateType == TemplateType.CollectorAgent) || (selectingNotifierAgents && t.TemplateType == TemplateType.NotifierAgent))) { ListViewItem lviTemplateCollector = new ListViewItem(qt.Name); lviTemplateCollector.SubItems.Add(qt.Description); lviTemplateCollector.Group = templatesGroup; lviTemplateCollector.Tag = qt; lvwAgentType.Items.Add(lviTemplateCollector); } }