/* * SERVICES */ /// <summary> /// Réalise la lecture de tous les paramètres disponibles dans le fichier de configuration /// </summary> /// <param name="configFileRelPath"></param> /// <returns></returns> public int loadConfigFile(string configFileRelPath) { // Path absolu du fichier de configuration configFilePath = appDirPath + configFileRelPath; // Dossier de configuration configDirPath = configFilePath.Substring(0, configFilePath.LastIndexOf(Path.DirectorySeparatorChar)); // Lecture et exploitation du fichier XML de configuration ConfigXMLFile configFile = new ConfigXMLFile(configFilePath); if (configFile.IOStatus == FileIO.FILEOP_SUCCESSFUL) { // Langue active activeLangIndex = 0; activeLang = configFile.getValue(XMLFile.NODE_SETTING, XMLFile.ATTRIB_NAME, XMLFile.LANGUAGE); // Version du fichier de configuration (non utilisé) // TODO implémenter l'utilisation du numéro de version du fichier de configuration //string[] nodes = { XMLFile.NODE_CONFIG }; configFileVersion = configFile.getAttribute(new string[] { XMLFile.NODE_APP, XMLFile.NODE_CONFIG }, XMLFile.ATTRIB_VERSION); // Packs de langue Langs = configFile.GetLanguagesFromXML(configDirPath); // Dossiers des logs logDirPath = appDirPath + configFile.getValue(XMLFile.NODE_DIR, XMLFile.ATTRIB_NAME, XMLFile.LOGS); // Mode Logger logger = configFile.getBoolean(XMLFile.NODE_SETTING, XMLFile.ATTRIB_NAME, XMLFile.LOGGER, true); // Dossier des modèles de calcul modelsDirPath = appDirPath + configFile.getValue(XMLFile.NODE_DIR, XMLFile.ATTRIB_NAME, XMLFile.MODELS); // Nom publique de l'app publicAppVersion = ""; // N° publique de version publicAppVersion = ""; // Dossier des scripts scriptsDirPath = appDirPath + configFile.getValue(XMLFile.NODE_DIR, XMLFile.ATTRIB_NAME, XMLFile.SCRIPTS); // Mode UnitsEnabled unitsEnabled = configFile.getBoolean(XMLFile.NODE_SETTING, XMLFile.ATTRIB_NAME, XMLFile.UNITS_ENABLED, true); // Fichier des unités de calcul unitsFileName = configDirPath + System.IO.Path.DirectorySeparatorChar + configFile.getValue(XMLFile.NODE_FILE, XMLFile.ATTRIB_NAME, XMLFile.UNITS); // Mode VERBOSE ALLOWED verboseAllowed = configFile.getBoolean(XMLFile.NODE_SETTING, XMLFile.ATTRIB_NAME, XMLFile.VERBOSE_ALLOWED, true); // Mode VERBOSE setVerbose(configFile.getBoolean(XMLFile.NODE_SETTING, XMLFile.ATTRIB_NAME, XMLFile.VERBOSE, false)); status = FileIO.FILEOP_SUCCESSFUL; // Recherche de l'index du language sélectionné activeLangIndex = Langs.languageIndex(activeLang); } else { // Config file unreadable status = configFile.IOStatus; } return(status); }