/// <summary> /// Creates ConfigFile /// </summary> /// <param name="aFolder"> /// Folder containing this configuration <see cref="ConfigFolder"/> /// </param> /// <param name="aFileName"> /// Filename of this config file <see cref="System.String"/> /// </param> /// <param name="aSerializableObjectType"> /// Object type to be loaded with values <see cref="System.Type"/> /// </param> /// <param name="aWatched"> /// true if file should be watched <see cref="System.Boolean"/> /// </param> public ConfigFile(ConfigFolder aFolder, string aFileName, System.Type aSerializableObjectType, bool aWatched) { if (aFolder == null) { throw new Exception("Config file can;t be created without master folder"); } folder = aFolder; if (aFileName.Trim() == "") { aFileName = ApplicationPreferences.MasterConfiguration; } if (folder.Get(aFileName) != null) { throw new Exception("Config file with name " + aFileName + " already exists in folder " + aFolder.Name); } FileName = aFileName; SerializableObjectType = aSerializableObjectType; Watched = aWatched; try { XmlSerializer serializer = new XmlSerializer(SerializableObjectType); serializer = null; } catch { throw new Exception("Type " + aSerializableObjectType + " is not valid class for serialization"); } Load(); }
/// <summary> /// Returns master configuration file /// </summary> /// <returns> /// Config file with "config.xml" name <see cref="ConfigFolder"/> /// </returns> public static ConfigFile GetMasterConfiguration() { ConfigFolder folder = GetMasterFolder(); if (folder != null) { return(folder.Get("config.xml")); } return(null); }
/// <summary> /// Creates folder in its default storage point /// </summary> /// <param name="aFolder"> /// Folder name <see cref="ConfigFolder"/> /// </param> public static void CreateFolder(ConfigFolder aFolder) { if (IO.Directory.Exists(ConfigurationFolder) == false) { IO.Directory.CreateDirectory(ConfigurationFolder); } if (aFolder == null) { return; } if (IO.Directory.Exists(aFolder.Path) == false) { IO.Directory.CreateDirectory(aFolder.Path); } }
/// <summary> /// Creates master configuration /// </summary> /// <param name="aSerializableObjectType"> /// Default config type <see cref="System.Type"/> /// </param> /// <param name="aWatched"> /// Set true if configuration should be monitored for file changes <see cref="System.Boolean"/> /// </param> /// <returns> /// Config file created <see cref="ConfigFile"/> /// </returns> public static ConfigFile AddMasterConfiguration(System.Type aSerializableObjectType, bool aWatched) { ConfigFolder folder = GetMasterFolder(); if (folder == null) { folder = new ConfigFolder(""); list.Add(folder); } if (folder.Get("config.xml") != null) { throw new Exception("Master configuration already exists"); } folder.Add(aSerializableObjectType, aWatched); return(folder.Get("config.xml")); }
/// <summary> /// Creates ConfigFile /// </summary> /// <param name="aFolder"> /// Folder containing this configuration <see cref="ConfigFolder"/> /// </param> /// <param name="aFileName"> /// Filename of this config file <see cref="System.String"/> /// </param> /// <param name="aSerializableObjectType"> /// Object type to be loaded with values <see cref="System.Type"/> /// </param> /// <remarks> /// This will create ConfigFile with /// Watched = false /// </remarks> public ConfigFile(ConfigFolder aFolder, string aFileName, System.Type aSerializableObjectType) : this(aFolder, aFileName, aSerializableObjectType, false) { }
/// <summary> /// Creates ConfigFile /// </summary> /// <param name="aFolder"> /// Folder containing this configuration <see cref="ConfigFolder"/> /// </param> /// <param name="aSerializableObjectType"> /// Object type to be loaded with values <see cref="System.Type"/> /// </param> /// <param name="aWatched"> /// true if file should be watched <see cref="System.Boolean"/> /// </param> /// <remarks> /// This will create ConfigFile with /// FileName = ApplicationPreferences.MasterConfiguration /// </remarks> public ConfigFile(ConfigFolder aFolder, System.Type aSerializableObjectType, bool aWatched) : this(aFolder, "", aSerializableObjectType, aWatched) { }
/// <summary> /// Creates ConfigFile /// </summary> /// <param name="aFolder"> /// Folder containing this configuration <see cref="ConfigFolder"/> /// </param> /// <param name="aSerializableObjectType"> /// Object type to be loaded with values <see cref="System.Type"/> /// </param> /// <remarks> /// This will create ConfigFile with /// FileName = ApplicationPreferences.MasterConfiguration /// Watched = false /// </remarks> public ConfigFile(ConfigFolder aFolder, System.Type aSerializableObjectType) : this(aFolder, "", aSerializableObjectType, false) { }