/// <summary>
        /// Создать парсер дефолтных настроек.
        /// </summary>
        public static ConfigSettingsParser CreateDefaultConfigSettingsParser()
        {
            var configSettingsPath = ChangeConfig.GetActualConfigSettingsPath();

            if (string.IsNullOrEmpty(configSettingsPath) || !File.Exists(configSettingsPath))
            {
                return(null);
            }

            var lastWriteTime = File.GetLastWriteTimeUtc(configSettingsPath);

            if (lastWriteTime == configSettingsLastWriteTime)
            {
                return(cachedConfigSettingsParser);
            }

            configSettingsLastWriteTime = lastWriteTime;

            try
            {
                cachedConfigSettingsParser = ChangeConfig.CreateConfigSettingsParser(configSettingsPath);
            }
            catch (Exception)
            {
                return(null);
            }

            return(cachedConfigSettingsParser);
        }
Example #2
0
        /// <summary>
        /// Сменить имя.
        /// </summary>
        /// <param name="resolveForcedAppDataPath">Функция разрешения пути до папки в appdata, когда флаг forceReturnAppDataPath включен.</param>
        /// <returns>Экземпляр класса. Также создаёт новый конфиг согласно правилам.</returns>
        public static AppConfig Change(Func <string, string> resolveForcedAppDataPath)
        {
            var liveConfigPath = ChangeConfig.Execute(AppConfigFilePath, resolveForcedAppDataPath);

            return(new ChangeAppConfig(liveConfigPath));
        }
Example #3
0
        /// <summary>
        /// Сменить имя.
        /// </summary>
        /// <returns>Экземпляр класса. Также создаёт новый конфиг согласно правилам.</returns>
        public static AppConfig Change()
        {
            var liveConfigPath = ChangeConfig.Execute(AppConfigFilePath);

            return(new ChangeAppConfig(liveConfigPath));
        }
        private static ReloadedConfigSettingsParser CreateParser(Action reloadHandler, Action <Exception> errorHandler, TimeSpan?waitBeforeReload)
        {
            var configSettingsPath = ChangeConfig.GetActualConfigSettingsPath();

            return(new ReloadedConfigSettingsParser(configSettingsPath, reloadHandler, errorHandler, waitBeforeReload));
        }