public static Profile GetProfile(Tiandao.Plugins.Plugin plugin) { if (plugin == null) { return(null); } return(Profile.Load(GetAssistedFilePath(plugin, ".ini"))); }
public static string GetAssistedFilePath(Tiandao.Plugins.Plugin plugin, string extensionName) { if (plugin == null || string.IsNullOrWhiteSpace(extensionName)) { return(null); } return(Path.Combine( Path.GetDirectoryName(plugin.FilePath), Path.GetFileNameWithoutExtension(plugin.FilePath) + (extensionName[0] == '.' ? extensionName : "." + extensionName))); }
public static SettingProvider GetProvider(Tiandao.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 SettingProvider(plugin, configuration); })); }
public static OptionConfiguration GetConfiguration(Tiandao.Plugins.Plugin plugin) { if (plugin == null) { return(null); } string filePath = GetAssistedFilePath(plugin, ".option"); return(OptionConfigurationManager.Open(filePath)); //OptionConfiguration configuration = OptionConfigurationManager.Open(filePath, true); //var section = configuration.GetSection("/") ?? configuration.Sections.Add("/"); //var settings = section["settings"] as SettingElementCollection; //if(settings == null) //{ // settings = new SettingElementCollection(); // section.Children.Add("settings", settings); //} //return configuration; }
public static string GetConfigurationFilePath(Tiandao.Plugins.Plugin plugin) { return(GetAssistedFilePath(plugin, ".option")); }
internal SettingProvider(Tiandao.Plugins.Plugin plugin, OptionConfiguration configuration) { _plugin = plugin; _configuration = configuration; _settings = (ISettingsProvider)_configuration.GetOptionObject("/settings"); }