public void SetSink(SinkType stype, System.Windows.Forms.Control logger) { if ((stype == SinkType.CONTROL) && (logger == null)) { throw new Exception("A Control object must be supplied for the CONTROL sink Type"); } this.stype = stype; if (logger != null) { control = logger; } }
private void frmSettings_Load(object sender, EventArgs e) { if (_container == null) { btnGenerateWikiDocs.Enabled = false; } _newAppSettings = new ApplicationSettings().GetOrCreateApplicationSettings(); var engineSettings = _newAppSettings.EngineSettings; chkShowDebug.DataBindings.Add("Checked", engineSettings, "ShowDebugWindow", false, DataSourceUpdateMode.OnPropertyChanged); chkAutoCloseWindow.DataBindings.Add("Checked", engineSettings, "AutoCloseDebugWindow", false, DataSourceUpdateMode.OnPropertyChanged); chkEnableLogging.DataBindings.Add("Checked", engineSettings, "EnableDiagnosticLogging", false, DataSourceUpdateMode.OnPropertyChanged); chkAdvancedDebug.DataBindings.Add("Checked", engineSettings, "ShowAdvancedDebugOutput", false, DataSourceUpdateMode.OnPropertyChanged); chkTrackMetrics.DataBindings.Add("Checked", engineSettings, "TrackExecutionMetrics", false, DataSourceUpdateMode.OnPropertyChanged); txtCommandDelay.DataBindings.Add("Text", engineSettings, "DelayBetweenCommands", false, DataSourceUpdateMode.OnPropertyChanged); chkOverrideInstances.DataBindings.Add("Checked", engineSettings, "OverrideExistingAppInstances", false, DataSourceUpdateMode.OnPropertyChanged); chkAutoCalcVariables.DataBindings.Add("Checked", engineSettings, "AutoCalcVariables", false, DataSourceUpdateMode.OnPropertyChanged); cbxCancellationKey.DataSource = Enum.GetValues(typeof(Keys)); cbxCancellationKey.DataBindings.Add("Text", engineSettings, "CancellationKey", false, DataSourceUpdateMode.OnPropertyChanged); SinkType loggingSinkType = engineSettings.LoggingSinkType; cbxSinkType.DataSource = Enum.GetValues(typeof(SinkType)); cbxSinkType.SelectedIndex = cbxSinkType.Items.IndexOf(loggingSinkType); LogEventLevel minLogLevel = engineSettings.MinLogLevel; cbxMinLogLevel.DataSource = Enum.GetValues(typeof(LogEventLevel)); cbxMinLogLevel.SelectedIndex = cbxMinLogLevel.Items.IndexOf(minLogLevel); txtLogging1.DataBindings.Add("Text", engineSettings, "LoggingValue1", false, DataSourceUpdateMode.OnPropertyChanged); var clientSettings = _newAppSettings.ClientSettings; chkAntiIdle.DataBindings.Add("Checked", clientSettings, "AntiIdleWhileOpen", false, DataSourceUpdateMode.OnPropertyChanged); txtAppFolderPath.DataBindings.Add("Text", clientSettings, "RootFolder", false, DataSourceUpdateMode.OnPropertyChanged); txtAttendedTaskFolder.DataBindings.Add("Text", clientSettings, "AttendedTasksFolder", false, DataSourceUpdateMode.OnPropertyChanged); chkInsertCommandsInline.DataBindings.Add("Checked", clientSettings, "InsertCommandsInline", false, DataSourceUpdateMode.OnPropertyChanged); chkSequenceDragDrop.DataBindings.Add("Checked", clientSettings, "EnableSequenceDragDrop", false, DataSourceUpdateMode.OnPropertyChanged); chkMinimizeToTray.DataBindings.Add("Checked", clientSettings, "MinimizeToTray", false, DataSourceUpdateMode.OnPropertyChanged); cboStartUpMode.DataBindings.Add("Text", clientSettings, "StartupMode", false, DataSourceUpdateMode.OnPropertyChanged); chkPreloadCommands.DataBindings.Add("Checked", clientSettings, "PreloadBuilderCommands", false, DataSourceUpdateMode.OnPropertyChanged); chkSlimActionBar.DataBindings.Add("Checked", clientSettings, "UseSlimActionBar", false, DataSourceUpdateMode.OnPropertyChanged); //get metrics bgwMetrics.RunWorkerAsync(); }
/// <summary> /// Clean up the internal state of the <see cref="BaseSink"/>. /// </summary> public virtual void CleanUp() { Type = TargetSinkType; IsUsed = false; ShouldSkip = false; }
public MainWindow() { InitializeComponent(); try { mCaptureManager = new CaptureManager("CaptureManager.dll"); } catch (System.Exception) { try { mCaptureManager = new CaptureManager(); } catch (System.Exception) { } } if (mCaptureManager == null) { return; } XmlDataProvider lXmlDataProvider = (XmlDataProvider)this.Resources["XmlLogProvider"]; if (lXmlDataProvider == null) { return; } System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); string lxmldoc = ""; mCaptureManager.getCollectionOfSources(ref lxmldoc); doc.LoadXml(lxmldoc); lXmlDataProvider.Document = doc; mSourceControl = mCaptureManager.createSourceControl(); mCaptureManager.getCollectionOfSinks(ref lxmldoc); lXmlDataProvider = (XmlDataProvider)this.Resources["XmlSinkFactoryCollectionProvider"]; if (lXmlDataProvider == null) { return; } doc = new System.Xml.XmlDocument(); doc.LoadXml(lxmldoc); lXmlDataProvider.Document = doc; mISessionControl = mCaptureManager.createSessionControl(); mSinkControl = mCaptureManager.createSinkControl(); mEncoderControl = mCaptureManager.createEncoderControl(); mEncodersComboBox.SelectionChanged += delegate { do { if (mEncoderControl == null) { break; } var lselectedNode = mEncodersComboBox.SelectedItem as XmlNode; if (lselectedNode == null) { break; } var lEncoderNameAttr = lselectedNode.Attributes["Title"]; if (lEncoderNameAttr == null) { break; } var lCLSIDEncoderAttr = lselectedNode.Attributes["CLSID"]; if (lCLSIDEncoderAttr == null) { break; } Guid lCLSIDEncoder; if (!Guid.TryParse(lCLSIDEncoderAttr.Value, out lCLSIDEncoder)) { break; } var lSourceNode = mSourcesComboBox.SelectedItem as XmlNode; if (lSourceNode == null) { return; } var lNode = lSourceNode.SelectSingleNode( "Source.Attributes/Attribute" + "[@Name='MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK' or @Name='MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_SYMBOLIC_LINK']" + "/SingleValue/@Value"); if (lNode == null) { return; } string lSymbolicLink = lNode.Value; lSourceNode = mStreamsComboBox.SelectedItem as XmlNode; if (lSourceNode == null) { return; } lNode = lSourceNode.SelectSingleNode("@Index"); if (lNode == null) { return; } uint lStreamIndex = 0; if (!uint.TryParse(lNode.Value, out lStreamIndex)) { return; } lSourceNode = mMediaTypesComboBox.SelectedItem as XmlNode; if (lSourceNode == null) { return; } lNode = lSourceNode.SelectSingleNode("@Index"); if (lNode == null) { return; } uint lMediaTypeIndex = 0; if (!uint.TryParse(lNode.Value, out lMediaTypeIndex)) { return; } object lOutputMediaType; if (mSourceControl == null) { return; } mSourceControl.getSourceOutputMediaType( lSymbolicLink, lStreamIndex, lMediaTypeIndex, out lOutputMediaType); string lMediaTypeCollection; if (!mEncoderControl.getMediaTypeCollectionOfEncoder( lOutputMediaType, lCLSIDEncoder, out lMediaTypeCollection)) { break; } XmlDataProvider lXmlEncoderModeDataProvider = (XmlDataProvider)this.Resources["XmlEncoderModeProvider"]; if (lXmlEncoderModeDataProvider == null) { return; } XmlDocument lEncoderModedoc = new XmlDocument(); lEncoderModedoc.LoadXml(lMediaTypeCollection); lXmlEncoderModeDataProvider.Document = lEncoderModedoc; } while (false); }; mEncodingModeComboBox.SelectionChanged += delegate { do { if (mEncoderControl == null) { break; } var lselectedNode = mEncodingModeComboBox.SelectedItem as XmlNode; if (lselectedNode == null) { break; } var lGUIDEncodingModeAttr = lselectedNode.Attributes["GUID"]; if (lGUIDEncodingModeAttr == null) { break; } Guid lGUIDEncodingMode; if (!Guid.TryParse(lGUIDEncodingModeAttr.Value, out lGUIDEncodingMode)) { break; } var lConstantMode = Guid.Parse("{CA37E2BE-BEC0-4B17-946D-44FBC1B3DF55}"); XmlDataProvider lXmlMediaTypeProvider = (XmlDataProvider)this.Resources["XmlMediaTypesCollectionProvider"]; if (lXmlMediaTypeProvider == null) { return; } XmlDocument lMediaTypedoc = new XmlDocument(); var lClonedMediaTypesNode = lMediaTypedoc.ImportNode(lselectedNode, true); lMediaTypedoc.AppendChild(lClonedMediaTypesNode); lXmlMediaTypeProvider.Document = lMediaTypedoc; } while (false); }; mSinkFactoryComboBox.SelectionChanged += delegate { do { if (mEncoderControl == null) { break; } var lselectedNode = mSinkFactoryComboBox.SelectedItem as XmlNode; if (lselectedNode == null) { break; } var lAttr = lselectedNode.Attributes["GUID"]; if (lAttr == null) { throw new System.Exception("GUID is empty"); } mContainerTypeComboBox.IsEnabled = false; mSinkType = SinkType.Node; if (lAttr.Value == "{D6E342E3-7DDD-4858-AB91-4253643864C2}") { mContainerTypeComboBox.IsEnabled = true; mSinkType = SinkType.File; } else if (lAttr.Value == "{2E891049-964A-4D08-8F36-95CE8CB0DE9B}") { mContainerTypeComboBox.IsEnabled = true; mSinkType = SinkType.BitStream; } else if (lAttr.Value == "{759D24FF-C5D6-4B65-8DDF-8A2B2BECDE39}") { } else if (lAttr.Value == "{3D64C48E-EDA4-4EE1-8436-58B64DD7CF13}") { } else if (lAttr.Value == "{2F34AF87-D349-45AA-A5F1-E4104D5C458E}") { } XmlDataProvider lXmlMediaTypeProvider = (XmlDataProvider)this.Resources["XmlContainerTypeProvider"]; if (lXmlMediaTypeProvider == null) { return; } XmlDocument lMediaTypedoc = new XmlDocument(); var lClonedMediaTypesNode = lMediaTypedoc.ImportNode(lselectedNode, true); lMediaTypedoc.AppendChild(lClonedMediaTypesNode); lXmlMediaTypeProvider.Document = lMediaTypedoc; } while (false); }; }
public InfoSinkBase(SinkType sinkType) { sink = new StringBuilder(); mSinkType = sinkType; }
public async Task <int> Start(CancellationToken token, IConsole console, int processId, int refreshInterval, SinkType sink, IEnumerable <FileInfo> jsonConfigs, IEnumerable <FileInfo> keyFileConfigs) { //CONSIDER The console sink uses the standard AddConsole, and therefore disregards IConsole. ServiceCollection services = new ServiceCollection(); ConfigurationBuilder builder = new ConfigurationBuilder(); if (jsonConfigs != null) { foreach (FileInfo jsonFile in jsonConfigs) { builder.SetBasePath(jsonFile.DirectoryName).AddJsonFile(jsonFile.Name, optional: true); } } if (keyFileConfigs != null) { foreach (FileInfo keyFileConfig in keyFileConfigs) { console.Out.WriteLine(keyFileConfig.FullName); builder.AddKeyPerFile(keyFileConfig.FullName, optional: true); } } ConfigureNames(builder); IConfigurationRoot config = builder.Build(); services.AddSingleton <IConfiguration>(config); //Specialized logger for diagnostic output from the service itself rather than as a sink for the data services.AddSingleton <ILogger <DiagnosticsMonitor> >((sp) => new ConsoleLoggerAdapter(console)); if (sink.HasFlag(SinkType.Console)) { services.AddSingleton <IMetricsLogger, ConsoleMetricsLogger>(); } if (sink.HasFlag(SinkType.LogAnalytics)) { services.AddSingleton <IMetricsLogger, MetricsLogger>(); } services.AddLogging(builder => { if (sink.HasFlag(SinkType.Console)) { builder.AddConsole(); } if (sink.HasFlag(SinkType.LogAnalytics)) { builder.AddProvider(new LogAnalyticsLoggerProvider()); } }); services.Configure <ContextConfiguration>(config); if (sink.HasFlag(SinkType.LogAnalytics)) { services.Configure <MetricsConfiguration>(config); services.Configure <ResourceConfiguration>(config); } await using var monitor = new DiagnosticsMonitor(services.BuildServiceProvider(), new MonitoringSourceConfiguration(refreshInterval)); await monitor.ProcessEvents(processId, token); return(0); }
public InfoSinkBase(SinkType sinkType) { sink = new StringBuilder(); mSinkType = sinkType; }
private void frmSettings_Load(object sender, EventArgs e) { newAppSettings = new ApplicationSettings(); newAppSettings = newAppSettings.GetOrCreateApplicationSettings(); var serverSettings = newAppSettings.ServerSettings; chkServerEnabled.DataBindings.Add("Checked", serverSettings, "ServerConnectionEnabled", false, DataSourceUpdateMode.OnPropertyChanged); chkAutomaticallyConnect.DataBindings.Add("Checked", serverSettings, "ConnectToServerOnStartup", false, DataSourceUpdateMode.OnPropertyChanged); chkRetryOnDisconnect.DataBindings.Add("Checked", serverSettings, "RetryServerConnectionOnFail", false, DataSourceUpdateMode.OnPropertyChanged); chkBypassValidation.DataBindings.Add("Checked", serverSettings, "BypassCertificateValidation", false, DataSourceUpdateMode.OnPropertyChanged); txtPublicKey.DataBindings.Add("Text", serverSettings, "ServerPublicKey", false, DataSourceUpdateMode.OnPropertyChanged); txtServerURL.DataBindings.Add("Text", serverSettings, "ServerURL", false, DataSourceUpdateMode.OnPropertyChanged); txtHttpsAddress.DataBindings.Add("Text", serverSettings, "HTTPServerURL", false, DataSourceUpdateMode.OnPropertyChanged); txtGUID.DataBindings.Add("Text", serverSettings, "HTTPGuid", false, DataSourceUpdateMode.OnPropertyChanged); var engineSettings = newAppSettings.EngineSettings; chkShowDebug.DataBindings.Add("Checked", engineSettings, "ShowDebugWindow", false, DataSourceUpdateMode.OnPropertyChanged); chkAutoCloseWindow.DataBindings.Add("Checked", engineSettings, "AutoCloseDebugWindow", false, DataSourceUpdateMode.OnPropertyChanged); chkEnableLogging.DataBindings.Add("Checked", engineSettings, "EnableDiagnosticLogging", false, DataSourceUpdateMode.OnPropertyChanged); chkAdvancedDebug.DataBindings.Add("Checked", engineSettings, "ShowAdvancedDebugOutput", false, DataSourceUpdateMode.OnPropertyChanged); chkTrackMetrics.DataBindings.Add("Checked", engineSettings, "TrackExecutionMetrics", false, DataSourceUpdateMode.OnPropertyChanged); txtCommandDelay.DataBindings.Add("Text", engineSettings, "DelayBetweenCommands", false, DataSourceUpdateMode.OnPropertyChanged); chkOverrideInstances.DataBindings.Add("Checked", engineSettings, "OverrideExistingAppInstances", false, DataSourceUpdateMode.OnPropertyChanged); chkAutoCalcVariables.DataBindings.Add("Checked", engineSettings, "AutoCalcVariables", false, DataSourceUpdateMode.OnPropertyChanged); cbxCancellationKey.DataSource = Enum.GetValues(typeof(Keys)); cbxCancellationKey.DataBindings.Add("Text", engineSettings, "CancellationKey", false, DataSourceUpdateMode.OnPropertyChanged); SinkType loggingSinkType = engineSettings.LoggingSinkType; cbxSinkType.DataSource = Enum.GetValues(typeof(SinkType)); cbxSinkType.SelectedIndex = cbxSinkType.Items.IndexOf(loggingSinkType); LogEventLevel minLogLevel = engineSettings.MinLogLevel; cbxMinLogLevel.DataSource = Enum.GetValues(typeof(LogEventLevel)); cbxMinLogLevel.SelectedIndex = cbxMinLogLevel.Items.IndexOf(minLogLevel); txtLogging1.DataBindings.Add("Text", engineSettings, "LoggingValue1", false, DataSourceUpdateMode.OnPropertyChanged); txtLogging2.DataBindings.Add("Text", engineSettings, "LoggingValue2", false, DataSourceUpdateMode.OnPropertyChanged); txtLogging3.DataBindings.Add("Text", engineSettings, "LoggingValue3", false, DataSourceUpdateMode.OnPropertyChanged); txtLogging4.DataBindings.Add("Text", engineSettings, "LoggingValue4", false, DataSourceUpdateMode.OnPropertyChanged); var listenerSettings = newAppSettings.ListenerSettings; chkAutoStartListener.DataBindings.Add("Checked", listenerSettings, "StartListenerOnStartup", false, DataSourceUpdateMode.OnPropertyChanged); chkEnableListening.DataBindings.Add("Checked", listenerSettings, "LocalListeningEnabled", false, DataSourceUpdateMode.OnPropertyChanged); chkRequireListenerKey.DataBindings.Add("Checked", listenerSettings, "RequireListenerAuthenticationKey", false, DataSourceUpdateMode.OnPropertyChanged); txtListeningPort.DataBindings.Add("Text", listenerSettings, "ListeningPort", false, DataSourceUpdateMode.OnPropertyChanged); txtAuthListeningKey.DataBindings.Add("Text", listenerSettings, "AuthKey", false, DataSourceUpdateMode.OnPropertyChanged); chkEnableWhitelist.DataBindings.Add("Checked", listenerSettings, "EnableWhitelist", false, DataSourceUpdateMode.OnPropertyChanged); txtWhiteList.DataBindings.Add("Text", listenerSettings, "IPWhiteList", false, DataSourceUpdateMode.OnPropertyChanged); SetupListeningUI(); var clientSettings = newAppSettings.ClientSettings; chkAntiIdle.DataBindings.Add("Checked", clientSettings, "AntiIdleWhileOpen", false, DataSourceUpdateMode.OnPropertyChanged); txtAppFolderPath.DataBindings.Add("Text", clientSettings, "RootFolder", false, DataSourceUpdateMode.OnPropertyChanged); txtAttendedTaskFolder.DataBindings.Add("Text", clientSettings, "AttendedTasksFolder", false, DataSourceUpdateMode.OnPropertyChanged); chkInsertCommandsInline.DataBindings.Add("Checked", clientSettings, "InsertCommandsInline", false, DataSourceUpdateMode.OnPropertyChanged); chkSequenceDragDrop.DataBindings.Add("Checked", clientSettings, "EnableSequenceDragDrop", false, DataSourceUpdateMode.OnPropertyChanged); chkMinimizeToTray.DataBindings.Add("Checked", clientSettings, "MinimizeToTray", false, DataSourceUpdateMode.OnPropertyChanged); cboStartUpMode.DataBindings.Add("Text", clientSettings, "StartupMode", false, DataSourceUpdateMode.OnPropertyChanged); chkPreloadCommands.DataBindings.Add("Checked", clientSettings, "PreloadBuilderCommands", false, DataSourceUpdateMode.OnPropertyChanged); chkSlimActionBar.DataBindings.Add("Checked", clientSettings, "UseSlimActionBar", false, DataSourceUpdateMode.OnPropertyChanged); //get metrics bgwMetrics.RunWorkerAsync(); LocalTCPClient.ListeningStarted += AutomationTCPListener_ListeningStarted; LocalTCPClient.ListeningStopped += AutomationTCPListener_ListeningStopped; }
/// <summary> /// Reads the particles and distributes them on the dictionaries /// </summary> /// <param name="shapefilename"></param> public IEnumerable <Particle> ReadParticleFile(string shapefilename, Func <DBFReader, int, SinkType, bool> ExcludeThis, bool DrainToBoundaryOption) { List <int> RedoxedParticles = new List <int>(); Dictionary <int, Particle> NonRedoxedParticles = new Dictionary <int, Particle>(); NewMessage("Reading particles from: " + shapefilename); int k = 0; using (DBFReader sr = new DBFReader(shapefilename)) { try { for (int i = 0; i < sr.NoOfEntries; i++) { int id = sr.ReadInt(i, "ID"); SinkType sinktype = (SinkType)Enum.Parse(typeof(SinkType), sr.ReadString(i, "SinkType")); if (sinktype == SinkType.Active_cell) //Do not create a new particle { RedoxedParticles.Add(id); } else if (ExcludeThis != null && ExcludeThis(sr, i, sinktype)) { k++; } else { Particle p = new Particle(); p.Registration = sr.ReadInt(i, "Registrati"); p.XStart = sr.ReadDouble(i, "X-Birth"); p.YStart = sr.ReadDouble(i, "Y-Birth"); p.ZStart = sr.ReadDouble(i, "Z-Birth"); p.X = sr.ReadDouble(i, "X-Reg"); p.Y = sr.ReadDouble(i, "Y-Reg"); p.Z = sr.ReadDouble(i, "Z-Reg"); p.TravelTime = sr.ReadDouble(i, "TravelTime"); p.SinkType = sinktype; NonRedoxedParticles.Add(id, p); if (DrainToBoundaryOption && p.SinkType == SinkType.Drain_to_Boundary) { p.X = p.XStart; p.Y = p.YStart; p.Z = p.ZStart; p.Registration = 0; } } } } catch (Exception e) { NewMessage("Error reading data"); } } int nosink = 0; //Set the registration on all particles that have be redoxed foreach (var pid in RedoxedParticles) { if (NonRedoxedParticles.ContainsKey(pid)) { NonRedoxedParticles[pid].Registration = 1; } else { nosink++; } } NewMessage("Excluded: " + k + " particles."); return(NonRedoxedParticles.Values); }