예제 #1
0
 public void Save(PluginsConfiguration pluginsConfiguration)
 {
     using (FileStream file = File.Exists(SettingsPath) ? File.Open(SettingsPath, FileMode.Truncate) : File.Create(SettingsPath))
     {
         _xmlSerializer.Serialize(file, pluginsConfiguration);
     }
 }
 /// <summary>
 ///		Cambia un valor de configuración de un plugin
 /// </summary>
 public void SetConfiguration(string plugin, string key, string value)
 {
     if (!string.IsNullOrWhiteSpace(plugin) && !string.IsNullOrWhiteSpace(key))
     {
         // Elimina la configuración del plugin para esa clave
         for (int index = PluginsConfiguration.Count - 1; index >= 0; index--)
         {
             if (PluginsConfiguration[index].plugin.Equals(plugin, StringComparison.CurrentCultureIgnoreCase) &&
                 PluginsConfiguration[index].key.Equals(key, StringComparison.CurrentCultureIgnoreCase))
             {
                 PluginsConfiguration.RemoveAt(index);
             }
         }
         // Añade la configuración
         PluginsConfiguration.Add((plugin, key, value));
     }
 }
        /// <summary>
        ///		Carga la configuración de los plugins
        /// </summary>
        private void LoadPluginsCongiguration(string setup)
        {
            // Limpia la configuración
            PluginsConfiguration.Clear();
            // Asigna la configuración
            if (!string.IsNullOrWhiteSpace(setup))
            {
                string [] parts = setup.Split(SetupSeparator);

                for (int index = 0; index < parts.Length; index += 3)
                {
                    if (parts.Length > index + 3 && !string.IsNullOrWhiteSpace(parts[index]) && !string.IsNullOrWhiteSpace(parts[index + 1]))
                    {
                        PluginsConfiguration.Add((parts[index], parts[index + 1], parts[index + 2]));
                    }
                }
            }
        }