예제 #1
0
        /// <summary>
        /// Charge les paramètres depuis le fichier XML (ConfigFilePath)
        /// </summary>
        public void Load()
        {
            XmlDocument doc = new XmlDocument();

            try
            {
                // Vérification du fichier XML
                if (File.Exists(ConfigFilePath))
                {
                    doc.Load(ConfigFilePath);

                    // Effacement des listes
                    pendingParameters.Clear();
                    persistentParameters.Clear();

                    // Lecture et création des objets dans le dictionnaire persistant
                    foreach (XmlElement anotherElement in doc.DocumentElement.ChildNodes)
                    {
                        string paramName  = anotherElement.Attributes[_NAME_ATTRIBUTE].Value;
                        string paramValue = anotherElement.Attributes[_VALUE_ATTRIBUTE].Value;

                        if (paramName != null)
                        {
                            persistentParameters.Add(paramName, paramValue);
                        }
                    }
                }
                else
                {
                    _SetDefaultValues();
                    Save();
                }

                // Gestion des événements
                if (_SettingsLoaded != null)
                {
                    _SettingsLoaded.Invoke(this, null);
                }
            }
            catch (Exception ex)
            {
                _log.Error("Unable to load XML config file: " + ConfigFilePath, ex);
                throw (ex);
            }
        }
예제 #2
0
 /// <summary>
 /// Fires the SettingsLoaded event.
 /// </summary>
 protected virtual void OnSettingsLoaded(object sender, SettingsLoadedEventArgs e)
 {
     _onSettingsLoaded?.Invoke(this, e);
 }