/// <inheritdoc /> public override XElement GetXml(string rootElemName, bool suppressDefaults) { XElement rootElem = new XElement(rootElemName); if (!suppressDefaults || !IsDefaultDelayMethod) { rootElem.Add(new XAttribute("delayMethod", DelayMethod.ToString())); } if (!suppressDefaults || !IsDefaultMaxDelay) { rootElem.Add(new XAttribute("maxDelay", MaxDelay.ToString(CultureInfo.InvariantCulture))); } if (!suppressDefaults || !IsDefaultRelShare) { rootElem.Add(new XAttribute("relShare", RelShare.ToString(CultureInfo.InvariantCulture))); } if (!suppressDefaults || !IsDefaultAnalogSourceCfg) { rootElem.Add(AnalogSourceCfg.GetXml(suppressDefaults)); } if (!suppressDefaults || !IsDefaultSpikingSourceCfg) { rootElem.Add(SpikingSourceCfg.GetXml(suppressDefaults)); } Validate(rootElem, XsdTypeName); return(rootElem); }
//Methods /// <summary> /// Checks consistency /// </summary> protected override void Check() { if (MaxDelay < 0) { throw new ArgumentException($"Invalid MaxDelay {MaxDelay.ToString(CultureInfo.InvariantCulture)}. MaxDelay must be GE to 0.", "MaxDelay"); } return; }
//arguments: server_id host port min_delay max_delay version public string CollapseArguments() { string[] args = { ServerId, Host, Port.ToString(), MinDelay.ToString(), MaxDelay.ToString(), Version.ToString() }; return(string.Join(" ", args)); }