diff options
| author | Bond-009 <bond.009@outlook.com> | 2020-02-19 21:07:09 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-02-19 21:07:09 +0100 |
| commit | 0f173e1778577f11d86da38ff2174ac1f0e7d612 (patch) | |
| tree | 20812a41d73520d58efe2a69f9b2b52b022c980d /MediaBrowser.Common/Configuration | |
| parent | cefac4f886e82a642380586b3d732e729cd76dd1 (diff) | |
| parent | cef796a5ba6dd256f425fb87c13d63c724499058 (diff) | |
Merge branch 'master' into sessionmanager
Diffstat (limited to 'MediaBrowser.Common/Configuration')
| -rw-r--r-- | MediaBrowser.Common/Configuration/IConfigurationFactory.cs | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/MediaBrowser.Common/Configuration/IConfigurationFactory.cs b/MediaBrowser.Common/Configuration/IConfigurationFactory.cs index 9b4ed772db..07ca2b58ba 100644 --- a/MediaBrowser.Common/Configuration/IConfigurationFactory.cs +++ b/MediaBrowser.Common/Configuration/IConfigurationFactory.cs @@ -1,25 +1,47 @@ -#pragma warning disable CS1591 -#pragma warning disable SA1600 - using System; using System.Collections.Generic; namespace MediaBrowser.Common.Configuration { + /// <summary> + /// Provides an interface to retrieve a configuration store. Classes with this interface are scanned for at + /// application start to dynamically register configuration for various modules/plugins. + /// </summary> public interface IConfigurationFactory { + /// <summary> + /// Get the configuration store for this module. + /// </summary> + /// <returns>The configuration store.</returns> IEnumerable<ConfigurationStore> GetConfigurations(); } + /// <summary> + /// Describes a single entry in the application configuration. + /// </summary> public class ConfigurationStore { + /// <summary> + /// Gets or sets the unique identifier for the configuration. + /// </summary> public string Key { get; set; } + /// <summary> + /// Gets or sets the type used to store the data for this configuration entry. + /// </summary> public Type ConfigurationType { get; set; } } + /// <summary> + /// A configuration store that can be validated. + /// </summary> public interface IValidatingConfiguration { + /// <summary> + /// Validation method to be invoked before saving the configuration. + /// </summary> + /// <param name="oldConfig">The old configuration.</param> + /// <param name="newConfig">The new configuration.</param> void Validate(object oldConfig, object newConfig); } } |
