public static void ReloadConfigFile() { if(System.IO.File.Exists (FullConfigPath)) { ConfigSource = new IniConfigSource (FullConfigPath); ConfigSource.Reload (); } else { logger.Warn ("Конфигурационный фаил {0} не найден. Конфигурация не загружена."); ConfigSource = new IniConfigSource (); ConfigSource.Save (FullConfigPath); } }
public void Reload() { string filePath = "Reload.ini"; // Create the original source file IniConfigSource source = new IniConfigSource (); IConfig petConfig = source.AddConfig ("Pets"); petConfig.Set ("cat", "Muffy"); petConfig.Set ("dog", "Rover"); IConfig weatherConfig = source.AddConfig ("Weather"); weatherConfig.Set ("skies", "cloudy"); weatherConfig.Set ("precipitation", "rain"); source.Save (filePath); Assert.AreEqual (2, petConfig.GetKeys ().Length); Assert.AreEqual ("Muffy", petConfig.Get ("cat")); Assert.AreEqual (2, source.Configs.Count); // Create another source file to set values and reload IniConfigSource newSource = new IniConfigSource (filePath); IConfig compareConfig = newSource.Configs["Pets"]; Assert.AreEqual (2, compareConfig.GetKeys ().Length); Assert.AreEqual ("Muffy", compareConfig.Get ("cat")); Assert.IsTrue (compareConfig == newSource.Configs["Pets"], "References before are not equal"); // Set the new values to source source.Configs["Pets"].Set ("cat", "Misha"); source.Configs["Pets"].Set ("lizard", "Lizzy"); source.Configs["Pets"].Set ("hampster", "Surly"); source.Configs["Pets"].Remove ("dog"); source.Configs.Remove (weatherConfig); source.Save (); // saves new value // Reload the new source and check for changes newSource.Reload (); Assert.IsTrue (compareConfig == newSource.Configs["Pets"], "References after are not equal"); Assert.AreEqual (1, newSource.Configs.Count); Assert.AreEqual (3, newSource.Configs["Pets"].GetKeys ().Length); Assert.AreEqual ("Lizzy", newSource.Configs["Pets"].Get ("lizard")); Assert.AreEqual ("Misha", newSource.Configs["Pets"].Get ("cat")); Assert.IsNull (newSource.Configs["Pets"].Get ("dog")); File.Delete (filePath); }
public void ConfigSourceEvents() { string filePath = "EventTest.ini"; IniConfigSource source = new IniConfigSource (); source.Saved += new EventHandler (this.source_saved); source.Reloaded += new EventHandler (this.source_reloaded); Assert.IsNull (eventConfig); Assert.IsNull (eventSource); IConfig config = source.AddConfig ("Test"); eventSource = null; Assert.AreEqual (savedCount, 0); source.Save (filePath); Assert.AreEqual (savedCount, 1); Assert.IsTrue (source == eventSource); eventSource = null; source.Save (); Assert.AreEqual (savedCount, 2); Assert.IsTrue (source == eventSource); eventSource = null; Assert.AreEqual (reloadedCount, 0); source.Reload (); Assert.AreEqual (reloadedCount, 1); Assert.IsTrue (source == eventSource); File.Delete (filePath); }