/// <summary> /// Initializes a new instance of the <see cref="LogFilePipelineStage"/> class. /// </summary> public LogFilePipelineStage() { mSetting_Path = RegisterSetting("Path", sDefault_Path); mSetting_Purpose = RegisterSetting("Purpose", sDefault_Purpose); mSetting_WriteMode = RegisterSetting("WriteMode", sDefault_WriteMode); mSetting_MaximumMessageCount = RegisterSetting("MaximumMessageCount", sDefault_MaximumMessageCount); mSetting_MaximumMessageAge = RegisterSetting("MaximumMessageAge", sDefault_MaximumMessageAge); }
private static void RegisterSetting_TypedInterface <T>( IProcessingPipelineStageSetting <T> setting, object defaultValue, string defaultValueAsString) { Assert.True(setting.HasDefaultValue); Assert.False(setting.HasValue); Assert.Equal(defaultValue, setting.DefaultValue); Assert.Equal(defaultValue, setting.Value); Assert.Equal(defaultValueAsString, setting.DefaultValueAsString); Assert.Equal(defaultValueAsString, setting.ValueAsString); }
private static void SetSetting_TypedInterface <T>( IProcessingPipelineStageSetting <T> setting, object value, string valueAsString) { Assert.False(setting.HasDefaultValue); Assert.Throws <InvalidOperationException>(() => setting.DefaultValue); Assert.Throws <InvalidOperationException>(() => setting.DefaultValueAsString); Assert.True(setting.HasValue); Assert.Equal(value, setting.Value); Assert.Equal(valueAsString, setting.ValueAsString); }
/// <summary> /// Binds the setting proxy to another pipeline stage configuration. /// </summary> /// <param name="configuration">The configuration the proxy should bind to.</param> /// <param name="raiseChangedEvent"> /// <c>true</c> to notify clients that the setting has changed; /// otherwise <c>false</c>. /// </param> void IUntypedSettingProxy.SetProxyTarget(IProcessingPipelineStageConfiguration configuration, bool raiseChangedEvent) { lock (mSync) { if (mConfiguration != configuration) { // Exchange the configuration, rebind the PropertyChanged handler and fire the PropertyChanged event // to notify clients to re-evaluate the setting. mConfiguration = configuration; mSetting?.UnregisterSettingChangedEventHandler(OnSettingPropertyChanged); mSetting = mValueToStringConverter != null && mStringToValueConverter != null ? mConfiguration.RegisterSetting(mSettingName, mDefaultSettingValue, mValueToStringConverter, mStringToValueConverter) : mConfiguration.RegisterSetting(mSettingName, mDefaultSettingValue); mSetting?.RegisterSettingChangedEventHandler(OnSettingPropertyChanged, false); if (raiseChangedEvent) { mStage.ProcessSettingChanged(this); } } } }
/// <summary> /// Initializes a new instance of the <see cref="FileWriterPipelineStage"/> class. /// </summary> public FileWriterPipelineStage() { mSetting_Append = RegisterSetting("Append", Default_Append); mSetting_Path = RegisterSetting("Path", Default_Path); }
/// <summary> /// Initializes a new instance of the <see cref="ConsoleWriterPipelineStage"/> class. /// </summary> public ConsoleWriterPipelineStage() { mDefaultStreamSetting = RegisterSetting(SettingName_DefaultStream, ConsoleOutputStream.Stdout); }