diff options
| author | Peter Maar <alset333@icloud.com> | 2020-03-19 22:02:08 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-03-19 22:02:08 -0400 |
| commit | adbf375efe44a5866a277ff2d7720c0ced6597b2 (patch) | |
| tree | e89e50745ed8288b7bbd388018ed7669e449fee9 /MediaBrowser.Common/Configuration/IConfigurationFactory.cs | |
| parent | 818695a01e007ce507d4518aefc520870989964d (diff) | |
| parent | af5d3e8eaeea6cd1c2e9248352a2e728d27b3c22 (diff) | |
Merge pull request #1 from jellyfin/master
Pull latest to my fork
Diffstat (limited to 'MediaBrowser.Common/Configuration/IConfigurationFactory.cs')
| -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 9b4ed772d..07ca2b58b 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); } } |
