/// <summary> /// Loads the configuration from the specified file. /// </summary> public bool Load(string fileName, out string errMsg) { try { SetToDefault(); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(fileName); XmlElement rootElem = xmlDoc.DocumentElement; if (rootElem.SelectSingleNode("ListenerOptions") is XmlNode listenerOptionsNode) { ListenerOptions.LoadFromXml(listenerOptionsNode); } if (rootElem.SelectSingleNode("ReverseConnection") is XmlElement reverseConnectionElem) { ReverseConnectionOptions.Enabled = reverseConnectionElem.GetAttrAsBool("enabled"); ReverseConnectionOptions.LoadFromXml(reverseConnectionElem); } if (rootElem.SelectSingleNode("Instances") is XmlNode instancesNode) { foreach (XmlElement instanceElem in instancesNode.SelectNodes("Instance")) { InstanceOptions instanceConfig = new InstanceOptions(); instanceConfig.LoadFromXml(instanceElem); Instances.Add(instanceConfig); } } errMsg = ""; return(true); } catch (Exception ex) { errMsg = ex.BuildErrorMessage(CommonPhrases.LoadConfigError); return(false); } }
/// <summary> /// Sets the default values. /// </summary> private void SetToDefault() { ListenerOptions = new ListenerOptions(); ReverseConnectionOptions = new ReverseConnectionOptions(); Instances = new List <InstanceOptions>(); }