|
@@ -247,23 +247,34 @@ namespace MediaBrowser.Common.Plugins
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
- return (TConfigurationType)Activator.CreateInstance(typeof(TConfigurationType));
|
|
|
+ var config = (TConfigurationType)Activator.CreateInstance(typeof(TConfigurationType));
|
|
|
+ SaveConfiguration(config);
|
|
|
+ return config;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// Saves the current configuration to the file system.
|
|
|
/// </summary>
|
|
|
- public virtual void SaveConfiguration()
|
|
|
+ /// <param name="config">Configuration to save.</param>
|
|
|
+ public virtual void SaveConfiguration(TConfigurationType config)
|
|
|
{
|
|
|
lock (_configurationSaveLock)
|
|
|
{
|
|
|
_directoryCreateFn(Path.GetDirectoryName(ConfigurationFilePath));
|
|
|
|
|
|
- XmlSerializer.SerializeToFile(Configuration, ConfigurationFilePath);
|
|
|
+ XmlSerializer.SerializeToFile(config, ConfigurationFilePath);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// Saves the current configuration to the file system.
|
|
|
+ /// </summary>
|
|
|
+ public virtual void SaveConfiguration()
|
|
|
+ {
|
|
|
+ SaveConfiguration(Configuration);
|
|
|
+ }
|
|
|
+
|
|
|
/// <inheritdoc />
|
|
|
public virtual void UpdateConfiguration(BasePluginConfiguration configuration)
|
|
|
{
|
|
@@ -274,7 +285,7 @@ namespace MediaBrowser.Common.Plugins
|
|
|
|
|
|
Configuration = (TConfigurationType)configuration;
|
|
|
|
|
|
- SaveConfiguration();
|
|
|
+ SaveConfiguration(Configuration);
|
|
|
|
|
|
ConfigurationChanged?.Invoke(this, configuration);
|
|
|
}
|