private void Loader_PluginLoaded(object sender, PluginLoadedEventArgs e) { if (OptionUtility.HasConfigurationFile(e.Plugin)) { var proxy = new ConfigurationProxy(() => OptionUtility.GetConfiguration(e.Plugin)); e.Plugin.Context.ApplicationContext.OptionManager.Providers.Add(proxy); } }
public static PluginSettingsProvider GetProvider(Zongsoft.Plugins.Plugin plugin) { if (plugin == null) { throw new ArgumentNullException("plugin"); } var configuration = OptionUtility.GetConfiguration(plugin); if (configuration == null) { return(null); } return(_cache.Get(plugin.FilePath, key => { return new PluginSettingsProvider(plugin, configuration); })); }