void IGXDLMSBase.Save(GXXmlWriter writer) { writer.WriteStartElement("ChangedParameter", 2); if (ChangedParameter != null && ChangedParameter.Target != null) { writer.WriteElementString("Type", (int)ChangedParameter.Target.ObjectType, 2); writer.WriteElementString("LN", ChangedParameter.Target.LogicalName, 2); writer.WriteElementString("Index", ChangedParameter.AttributeIndex, 2); writer.WriteElementObject("Value", ChangedParameter.Value, 2); } writer.WriteEndElement(); writer.WriteElementString("Time", CaptureTime, 3); writer.WriteStartElement("Parameters", 4); if (Parameters != null && Parameters.Count != 0) { foreach (GXDLMSTarget it in Parameters) { writer.WriteStartElement("Item", 4); writer.WriteElementString("Type", (int)it.Target.ObjectType, 4); writer.WriteElementString("LN", it.Target.LogicalName, 4); writer.WriteElementString("Index", it.AttributeIndex, 4); writer.WriteEndElement(); } } writer.WriteEndElement(); }
/// <summary> /// Save COSEM objects to the file. /// </summary> /// <param name="filename">File name.</param> /// <param name="settings">XML write settings.</param> public void Save(string filename, GXXmlWriterSettings settings) { using (GXXmlWriter writer = new GXXmlWriter(filename)) { writer.WriteStartDocument(); writer.WriteStartElement("Objects"); foreach (GXDLMSObject it in this) { writer.WriteStartElement("Object"); writer.WriteAttributeString("Type", ((int)it.ObjectType).ToString()); // Add SN if (it.ShortName != 0) { writer.WriteElementString("SN", it.ShortName); } // Add LN writer.WriteElementString("LN", it.LogicalName); // Add description if given. if (!string.IsNullOrEmpty(it.Description)) { writer.WriteElementString("Description", it.Description); } if (settings.Values) { (it as IGXDLMSBase).Save(writer); } // Close object. writer.WriteEndElement(); } writer.WriteEndElement(); writer.WriteEndDocument(); } }
private static void SaveUnitCharge(GXXmlWriter writer, string name, GXUnitCharge charge, int index) { writer.WriteStartElement(name, index); writer.WriteElementString("Scale", charge.ChargePerUnitScaling.CommodityScale, index); writer.WriteElementString("PriceScale", charge.ChargePerUnitScaling.PriceScale, index); if (charge.Commodity.Target != null) { writer.WriteElementString("Type", (int)charge.Commodity.Target.ObjectType, index); writer.WriteElementString("Ln", charge.Commodity.Target.LogicalName, index); } else { writer.WriteElementString("Type", 0, index); writer.WriteElementString("Ln", "0.0.0.0.0.0", index); } writer.WriteElementString("Index", charge.Commodity.Index, index); writer.WriteStartElement("ChargeTables", 0); if (charge.ChargeTables != null) { foreach (GXChargeTable it in charge.ChargeTables) { writer.WriteStartElement("Item", 0); writer.WriteElementString("Index", it.Index, index); writer.WriteElementString("ChargePerUnit", it.ChargePerUnit, index); writer.WriteEndElement(); } } writer.WriteEndElement(); writer.WriteEndElement(); }
void IGXDLMSBase.Save(GXXmlWriter writer) { writer.WriteElementString("PHYReference", PHYReference); if (LCPOptions != null) { writer.WriteStartElement("LCPOptions"); foreach (GXDLMSPppSetupLcpOption it in LCPOptions) { writer.WriteStartElement("Item"); writer.WriteElementString("Type", (int)it.Type); writer.WriteElementString("Length", it.Length); writer.WriteElementObject("Data", it.Data); writer.WriteEndElement(); } writer.WriteEndElement(); } if (IPCPOptions != null) { writer.WriteStartElement("IPCPOptions"); foreach (GXDLMSPppSetupIPCPOption it in IPCPOptions) { writer.WriteStartElement("Item"); writer.WriteElementString("Type", ((int)it.Type)); writer.WriteElementString("Length", it.Length); writer.WriteElementObject("Data", it.Data); writer.WriteEndElement(); } writer.WriteEndElement(); } writer.WriteElementString("UserName", GXDLMSTranslator.ToHex(UserName)); writer.WriteElementString("Password", GXDLMSTranslator.ToHex(Password)); }
void IGXDLMSBase.Save(GXXmlWriter writer) { if (PushObjectList != null) { writer.WriteStartElement("ObjectList"); foreach (KeyValuePair <GXDLMSObject, GXDLMSCaptureObject> it in PushObjectList) { writer.WriteStartElement("Item"); writer.WriteElementString("ObjectType", (int)it.Key.ObjectType); writer.WriteElementString("LN", it.Key.LogicalName); writer.WriteElementString("AI", it.Value.AttributeIndex); writer.WriteElementString("DI", it.Value.DataIndex); writer.WriteEndElement(); } writer.WriteEndElement(); } writer.WriteElementString("Service", (int)Service); writer.WriteElementString("Destination", Destination); writer.WriteElementString("Message", (int)Message); if (CommunicationWindow != null) { writer.WriteStartElement("CommunicationWindow"); foreach (KeyValuePair <GXDateTime, GXDateTime> it in CommunicationWindow) { writer.WriteStartElement("Item"); writer.WriteElementString("Start", it.Key.ToFormatString()); writer.WriteElementString("End", it.Value.ToFormatString()); writer.WriteEndElement(); } writer.WriteEndElement(); } writer.WriteElementString("RandomisationStartInterval", RandomisationStartInterval); writer.WriteElementString("NumberOfRetries", NumberOfRetries); writer.WriteElementString("RepetitionDelay", RepetitionDelay); }
void IGXDLMSBase.Save(GXXmlWriter writer) { if (ChangedParameter != null && ChangedParameter.Target != null) { writer.WriteStartElement("ChangedParameter"); writer.WriteElementString("Type", (int)ChangedParameter.Target.ObjectType); writer.WriteElementString("LN", ChangedParameter.Target.LogicalName); writer.WriteElementString("Index", ChangedParameter.AttributeIndex); writer.WriteElementObject("Value", ChangedParameter.Value); writer.WriteEndElement(); } if (CaptureTime != null && CaptureTime != DateTime.MinValue) { writer.WriteElementString("Time", CaptureTime.ToString(CultureInfo.InvariantCulture)); } if (Parameters != null && Parameters.Count != 0) { writer.WriteStartElement("Parameters"); foreach (GXDLMSTarget it in Parameters) { writer.WriteStartElement("Item"); writer.WriteElementString("Type", (int)it.Target.ObjectType); writer.WriteElementString("LN", it.Target.LogicalName); writer.WriteElementString("Index", it.AttributeIndex); writer.WriteEndElement(); } writer.WriteEndElement(); } }
void IGXDLMSBase.Save(GXXmlWriter writer) { if (Version == 0) { writer.WriteElementString("SecurityPolicy", (int)SecurityPolicy, 2); } else { writer.WriteElementString("SecurityPolicy0", (int)SecurityPolicy0, 2); } writer.WriteElementString("SecuritySuite", (int)SecuritySuite, 3); writer.WriteElementString("ClientSystemTitle", GXDLMSTranslator.ToHex(ClientSystemTitle), 4); writer.WriteElementString("ServerSystemTitle", GXDLMSTranslator.ToHex(ServerSystemTitle), 5); if (Certificates != null) { writer.WriteStartElement("Certificates", 6); foreach (GXDLMSCertificateInfo it in Certificates) { writer.WriteStartElement("Item", 0); writer.WriteElementString("Entity", (int)it.Entity, 0); writer.WriteElementString("Type", (int)it.Type, 0); writer.WriteElementString("SerialNumber", it.SerialNumber, 0); writer.WriteElementString("Issuer", it.Issuer, 0); writer.WriteElementString("Subject", it.Subject, 0); writer.WriteElementString("SubjectAltName", it.SubjectAltName, 0); writer.WriteEndElement(); } writer.WriteEndElement(); } }
void IGXDLMSBase.Save(GXXmlWriter writer) { writer.WriteElementString("Operator", Operator); writer.WriteElementString("Status", (int)Status); writer.WriteElementString("CircuitSwitchStatus", (int)CircuitSwitchStatus); writer.WriteElementString("PacketSwitchStatus", (int)PacketSwitchStatus); if (CellInfo != null) { writer.WriteStartElement("CellInfo"); writer.WriteElementString("CellId", CellInfo.CellId); writer.WriteElementString("LocationId", CellInfo.LocationId); writer.WriteElementString("SignalQuality", CellInfo.SignalQuality); writer.WriteElementString("Ber", CellInfo.Ber); writer.WriteEndElement(); } if (AdjacentCells != null) { writer.WriteStartElement("AdjacentCells"); foreach (AdjacentCell it in AdjacentCells) { writer.WriteStartElement("Item"); writer.WriteElementString("CellId", it.CellId); writer.WriteElementString("SignalQuality", it.SignalQuality); writer.WriteEndElement(); } writer.WriteEndElement(); } writer.WriteElementObject("CaptureTime", CaptureTime); }
void IGXDLMSBase.Save(GXXmlWriter writer) { writer.WriteElementString("DataLinkLayerReference", DataLinkLayerReference); writer.WriteElementString("IPAddress", IPAddress); if (MulticastIPAddress != null) { writer.WriteStartElement("MulticastIPAddress"); foreach (string it in MulticastIPAddress) { writer.WriteElementString("Value", it); } writer.WriteEndElement(); } if (IPOptions != null) { writer.WriteStartElement("IPOptions"); foreach (GXDLMSIp4SetupIpOption it in IPOptions) { writer.WriteStartElement("IPOptions"); writer.WriteElementString("Type", (int)it.Type); writer.WriteElementString("Length", it.Length); writer.WriteElementString("Data", GXDLMSTranslator.ToHex(it.Data)); writer.WriteEndElement(); } writer.WriteEndElement(); } writer.WriteElementString("SubnetMask", SubnetMask); writer.WriteElementString("GatewayIPAddress", GatewayIPAddress); writer.WriteElementString("UseDHCP", UseDHCP); writer.WriteElementString("PrimaryDNSAddress", PrimaryDNSAddress); writer.WriteElementString("SecondaryDNSAddress", SecondaryDNSAddress); }
void IGXDLMSBase.Save(GXXmlWriter writer) { writer.WriteElementString("MBusPortReference", MBusPortReference, 2); writer.WriteStartElement("CaptureDefinition", 3); if (CaptureDefinition != null) { foreach (KeyValuePair <string, string> it in CaptureDefinition) { writer.WriteStartElement("Item", 3); writer.WriteElementString("Data", it.Key, 3); writer.WriteElementString("Value", it.Value, 3); writer.WriteEndElement(); } } writer.WriteEndElement(); writer.WriteElementString("CapturePeriod", CapturePeriod, 4); writer.WriteElementString("PrimaryAddress", PrimaryAddress, 5); writer.WriteElementString("IdentificationNumber", IdentificationNumber, 6); writer.WriteElementString("ManufacturerID", ManufacturerID, 7); writer.WriteElementString("DataHeaderVersion", DataHeaderVersion, 8); writer.WriteElementString("DeviceType", DeviceType, 9); writer.WriteElementString("AccessNumber", AccessNumber, 10); writer.WriteElementString("Status", Status, 11); writer.WriteElementString("Alarm", Alarm, 12); if (Version > 0) { writer.WriteElementString("Configuration", Configuration, 13); writer.WriteElementString("EncryptionKeyStatus", (int)EncryptionKeyStatus, 14); } }
void IGXDLMSBase.Save(GXXmlWriter writer) { if (RegisterAssignment != null) { writer.WriteStartElement("RegisterAssignment"); foreach (GXDLMSObjectDefinition it in RegisterAssignment) { writer.WriteStartElement("Item"); writer.WriteElementString("ObjectType", (int)it.ObjectType); writer.WriteElementString("LN", it.LogicalName); writer.WriteEndElement(); } writer.WriteEndElement(); } if (MaskList != null) { writer.WriteStartElement("MaskList"); foreach (KeyValuePair <byte[], byte[]> it in MaskList) { writer.WriteStartElement("Item"); writer.WriteElementString("Mask", GXDLMSTranslator.ToHex(it.Key)); writer.WriteElementString("Index", GXDLMSTranslator.ToHex(it.Value).Replace(" ", ";")); writer.WriteEndElement(); } writer.WriteEndElement(); } if (ActiveMask != null) { writer.WriteElementString("ActiveMask", GXDLMSTranslator.ToHex(ActiveMask)); } }
void IGXDLMSBase.Save(GXXmlWriter writer) { writer.WriteElementString("Operator", Operator, 2); writer.WriteElementString("Status", (int)Status, 3); writer.WriteElementString("CircuitSwitchStatus", (int)CircuitSwitchStatus, 4); writer.WriteElementString("PacketSwitchStatus", (int)PacketSwitchStatus, 5); writer.WriteStartElement("CellInfo", 6); if (CellInfo != null) { writer.WriteElementString("CellId", CellInfo.CellId, 6); writer.WriteElementString("LocationId", CellInfo.LocationId, 6); writer.WriteElementString("SignalQuality", CellInfo.SignalQuality, 6); writer.WriteElementString("Ber", CellInfo.Ber, 6); } writer.WriteEndElement(); writer.WriteStartElement("AdjacentCells", 7); if (AdjacentCells != null) { foreach (AdjacentCell it in AdjacentCells) { writer.WriteStartElement("Item", 7); writer.WriteElementString("CellId", it.CellId, 7); writer.WriteElementString("SignalQuality", it.SignalQuality, 7); writer.WriteEndElement(); } } writer.WriteEndElement(); writer.WriteElementString("CaptureTime", CaptureTime, 8); }
void IGXDLMSBase.Save(GXXmlWriter writer) { writer.WriteElementString("DataLinkLayerReference", DataLinkLayerReference, 2); writer.WriteElementString("IPAddress", Convert.ToString(IPAddress), 3); writer.WriteStartElement("MulticastIPAddress", 4); if (MulticastIPAddress != null) { foreach (IPAddress it in MulticastIPAddress) { writer.WriteElementString("Value", Convert.ToString(it), 4); } } writer.WriteEndElement(); writer.WriteStartElement("IPOptions", 5); if (IPOptions != null) { foreach (GXDLMSIp4SetupIpOption it in IPOptions) { writer.WriteStartElement("IPOption", 5); writer.WriteElementString("Type", (int)it.Type, 5); writer.WriteElementString("Length", it.Length, 5); writer.WriteElementString("Data", GXDLMSTranslator.ToHex(it.Data), 5); writer.WriteEndElement(); } } writer.WriteEndElement(); writer.WriteElementString("SubnetMask", Convert.ToString(SubnetMask), 6); writer.WriteElementString("GatewayIPAddress", Convert.ToString(GatewayIPAddress), 7); writer.WriteElementString("UseDHCP", UseDHCP, 8); writer.WriteElementString("PrimaryDNSAddress", Convert.ToString(PrimaryDNSAddress), 9); writer.WriteElementString("SecondaryDNSAddress", Convert.ToString(SecondaryDNSAddress), 10); }
void IGXDLMSBase.Save(GXXmlWriter writer) { if (Entries != null) { writer.WriteStartElement("Entries", 2); foreach (GXScheduleEntry it in Entries) { writer.WriteStartElement("Item", 2); writer.WriteElementString("Index", it.Index, 2); writer.WriteElementString("Enable", it.Enable, 2); if (it.Script != null) { writer.WriteElementString("LogicalName", it.Script.LogicalName, 2); } writer.WriteElementString("ScriptSelector", it.ScriptSelector, 2); writer.WriteElementString("SwitchTime", it.SwitchTime, 2); writer.WriteElementString("ValidityWindow", it.ValidityWindow, 2); writer.WriteElementString("ExecWeekdays", (int)it.ExecWeekdays, 2); writer.WriteElementString("ExecSpecDays", it.ExecSpecDays, 2); writer.WriteElementString("BeginDate", it.BeginDate, 2); writer.WriteElementString("EndDate", it.EndDate, 2); writer.WriteEndElement(); } writer.WriteEndElement();//Entries } }
void IGXDLMSBase.Save(GXXmlWriter writer) { writer.WriteElementString("APN", APN); writer.WriteElementString("PINCode", PINCode); if (DefaultQualityOfService != null) { writer.WriteStartElement("DefaultQualityOfService"); writer.WriteElementString("Precedence", DefaultQualityOfService.Precedence); writer.WriteElementString("Delay", DefaultQualityOfService.Delay); writer.WriteElementString("Reliability", DefaultQualityOfService.Reliability); writer.WriteElementString("PeakThroughput", DefaultQualityOfService.PeakThroughput); writer.WriteElementString("MeanThroughput", DefaultQualityOfService.MeanThroughput); writer.WriteEndElement(); } if (RequestedQualityOfService != null) { writer.WriteStartElement("RequestedQualityOfService"); writer.WriteElementString("Precedence", RequestedQualityOfService.Precedence); writer.WriteElementString("Delay", RequestedQualityOfService.Delay); writer.WriteElementString("Reliability", RequestedQualityOfService.Reliability); writer.WriteElementString("PeakThroughput", RequestedQualityOfService.PeakThroughput); writer.WriteElementString("MeanThroughput", RequestedQualityOfService.MeanThroughput); writer.WriteEndElement(); } }
private void SaveRoutingConfiguration(GXXmlWriter writer) { if (RoutingConfiguration != null) { writer.WriteStartElement("RoutingConfiguration"); foreach (GXDLMSRoutingConfiguration it in RoutingConfiguration) { writer.WriteStartElement("Item"); writer.WriteElementString("NetTraversalTime", it.NetTraversalTime); writer.WriteElementString("RoutingTableEntryTtl", it.RoutingTableEntryTtl); writer.WriteElementString("Kr", it.Kr); writer.WriteElementString("Km", it.Km); writer.WriteElementString("Kc", it.Kc); writer.WriteElementString("Kq", it.Kq); writer.WriteElementString("Kh", it.Kh); writer.WriteElementString("Krt", it.Krt); writer.WriteElementString("RreqRetries", it.RreqRetries); writer.WriteElementString("RreqRerrWait", it.RreqRerrWait); writer.WriteElementString("BlacklistTableEntryTtl", it.BlacklistTableEntryTtl); writer.WriteElementString("UnicastRreqGenEnable", it.UnicastRreqGenEnable); writer.WriteElementString("RlcEnabled", it.RlcEnabled); writer.WriteElementString("AddRevLinkCost", it.AddRevLinkCost); writer.WriteEndElement(); } writer.WriteEndElement(); } }
private void SaveReferences(GXXmlWriter writer, List <string> list, string name, int index) { writer.WriteStartElement(name, index); if (list != null) { foreach (string it in list) { writer.WriteStartElement("Item", 0); writer.WriteElementString("Name", it, 0); writer.WriteEndElement(); } } writer.WriteEndElement(); }
void IGXDLMSBase.Save(GXXmlWriter writer) { writer.WriteElementString("ClientSAP", ClientSAP); writer.WriteElementString("ServerSAP", ServerSAP); if (ApplicationContextName != null) { writer.WriteStartElement("ApplicationContextName"); writer.WriteElementString("JointIsoCtt", ApplicationContextName.JointIsoCtt); writer.WriteElementString("Country", ApplicationContextName.Country); writer.WriteElementString("CountryName", ApplicationContextName.CountryName); writer.WriteElementString("IdentifiedOrganization", ApplicationContextName.IdentifiedOrganization); writer.WriteElementString("DlmsUA", ApplicationContextName.DlmsUA); writer.WriteElementString("ApplicationContext", ApplicationContextName.ApplicationContext); writer.WriteElementString("ContextId", (int)ApplicationContextName.ContextId); writer.WriteEndElement(); } if (XDLMSContextInfo != null) { writer.WriteStartElement("XDLMSContextInfo"); writer.WriteElementString("Conformance", ((int)XDLMSContextInfo.Conformance)); writer.WriteElementString("MaxReceivePduSize", XDLMSContextInfo.MaxReceivePduSize); writer.WriteElementString("MaxSendPduSize", XDLMSContextInfo.MaxSendPduSize); writer.WriteElementString("DlmsVersionNumber", XDLMSContextInfo.DlmsVersionNumber); writer.WriteElementString("QualityOfService", XDLMSContextInfo.QualityOfService); writer.WriteElementString("CypheringInfo", GXDLMSTranslator.ToHex(XDLMSContextInfo.CypheringInfo)); writer.WriteEndElement(); } if (AuthenticationMechanismName != null) { writer.WriteStartElement("XDLMSContextInfo"); writer.WriteElementString("JointIsoCtt", AuthenticationMechanismName.JointIsoCtt); writer.WriteElementString("Country", AuthenticationMechanismName.Country); writer.WriteElementString("CountryName", AuthenticationMechanismName.CountryName); writer.WriteElementString("IdentifiedOrganization", AuthenticationMechanismName.IdentifiedOrganization); writer.WriteElementString("DlmsUA", AuthenticationMechanismName.DlmsUA); writer.WriteElementString("AuthenticationMechanismName", AuthenticationMechanismName.AuthenticationMechanismName); writer.WriteElementString("MechanismId", (int)AuthenticationMechanismName.MechanismId); writer.WriteEndElement(); } writer.WriteElementString("Secret", GXDLMSTranslator.ToHex(Secret)); writer.WriteElementString("AssociationStatus", (int)AssociationStatus); if (string.IsNullOrEmpty(SecuritySetupReference)) { writer.WriteElementString("SecuritySetupReference", "0.0.0.0.0.0"); } else { writer.WriteElementString("SecuritySetupReference", SecuritySetupReference); } }
void IGXDLMSBase.Save(GXXmlWriter writer) { if (MonitoredValue != null) { writer.WriteStartElement("MonitoredValue"); writer.WriteElementString("ObjectType", (int)MonitoredValue.ObjectType); writer.WriteElementString("LN", MonitoredValue.LogicalName); writer.WriteEndElement(); } writer.WriteElementObject("ThresholdActive", ThresholdActive); writer.WriteElementObject("ThresholdNormal", ThresholdNormal); writer.WriteElementObject("ThresholdEmergency", ThresholdEmergency); writer.WriteElementString("MinOverThresholdDuration", MinOverThresholdDuration); writer.WriteElementString("MinUnderThresholdDuration", MinUnderThresholdDuration); if (EmergencyProfile != null) { writer.WriteStartElement("EmergencyProfile"); writer.WriteElementString("ID", EmergencyProfile.ID); writer.WriteElementObject("Time", EmergencyProfile.ActivationTime); writer.WriteElementString("Duration", EmergencyProfile.Duration); writer.WriteEndElement(); } if (EmergencyProfileGroupIDs != null) { writer.WriteStartElement("EmergencyProfileGroupIDs"); foreach (UInt16 it in EmergencyProfileGroupIDs) { writer.WriteElementString("Value", it); } writer.WriteEndElement(); } writer.WriteElementString("Active", EmergencyProfileActive); if (ActionOverThreshold != null) { writer.WriteStartElement("ActionOverThreshold"); writer.WriteElementString("LN", ActionOverThreshold.LogicalName); writer.WriteElementString("ScriptSelector", ActionOverThreshold.ScriptSelector); writer.WriteEndElement(); } if (ActionUnderThreshold != null) { writer.WriteStartElement("ActionUnderThreshold"); writer.WriteElementString("LN", ActionUnderThreshold.LogicalName); writer.WriteElementString("ScriptSelector", ActionUnderThreshold.ScriptSelector); writer.WriteEndElement(); } }
private void SaveMulticastEntries(GXXmlWriter writer, int index) { writer.WriteStartElement("MulticastEntries", index); if (MulticastEntries != null) { foreach (GXMacMulticastEntry it in MulticastEntries) { writer.WriteStartElement("Item", index); writer.WriteElementString("Id", it.Id, index); writer.WriteElementString("Members", it.Members, index); writer.WriteEndElement(); } } writer.WriteEndElement(); }
void IGXDLMSBase.Save(GXXmlWriter writer) { if (SapAssignmentList != null) { writer.WriteStartElement("SapAssignmentList"); foreach (KeyValuePair <UInt16, string> it in SapAssignmentList) { writer.WriteStartElement("Item"); writer.WriteElementString("SAP", it.Key); writer.WriteElementString("LDN", it.Value); writer.WriteEndElement(); } writer.WriteEndElement(); } }
void SaveKeyTable(GXXmlWriter writer) { if (KeyTable != null) { writer.WriteStartElement("KeyTable"); foreach (GXKeyValuePair <byte, byte[]> it in KeyTable) { writer.WriteStartElement("Item"); writer.WriteElementString("Key", it.Key); writer.WriteElementString("Data", GXDLMSTranslator.ToHex(it.Value)); writer.WriteEndElement(); } writer.WriteEndElement();//KeyTable } }
private void SaveBlacklistTable(GXXmlWriter writer) { if (BlacklistTable != null) { writer.WriteStartElement("BlacklistTable"); foreach (GXKeyValuePair <UInt16, UInt16> it in BlacklistTable) { writer.WriteStartElement("Item"); writer.WriteElementObject("Key", it.Key); writer.WriteElementObject("Value", it.Value); writer.WriteEndElement(); } writer.WriteEndElement(); } }
private void SaveTokenGatewayConfigurations(GXXmlWriter writer, List <GXTokenGatewayConfiguration> list, int index) { if (list != null) { writer.WriteStartElement("TokenGatewayConfigurations", index); foreach (GXTokenGatewayConfiguration it in list) { writer.WriteStartElement("Item", 0); writer.WriteElementString("Credit", it.CreditReference, 0); writer.WriteElementString("Token", it.TokenProportion, 0); writer.WriteEndElement(); } writer.WriteEndElement(); } }
void IGXDLMSBase.Save(GXXmlWriter writer) { writer.WriteStartElement("MonitoredValue", 2); if (MonitoredValue != null) { writer.WriteElementString("ObjectType", (int)MonitoredValue.ObjectType, 0); writer.WriteElementString("LN", MonitoredValue.LogicalName, 0); } writer.WriteEndElement(); writer.WriteElementObject("ThresholdActive", ThresholdActive, 3); writer.WriteElementObject("ThresholdNormal", ThresholdNormal, 4); writer.WriteElementObject("ThresholdEmergency", ThresholdEmergency, 5); writer.WriteElementString("MinOverThresholdDuration", MinOverThresholdDuration, 6); writer.WriteElementString("MinUnderThresholdDuration", MinUnderThresholdDuration, 7); writer.WriteStartElement("EmergencyProfile", 8); if (EmergencyProfile != null) { writer.WriteElementString("ID", EmergencyProfile.ID, 0); writer.WriteElementString("Time", EmergencyProfile.ActivationTime, 0); writer.WriteElementString("Duration", EmergencyProfile.Duration, 0); } writer.WriteEndElement(); writer.WriteStartElement("EmergencyProfileGroupIDs", 9); if (EmergencyProfileGroupIDs != null) { foreach (UInt16 it in EmergencyProfileGroupIDs) { writer.WriteElementString("Value", it, 0); } } writer.WriteEndElement(); writer.WriteElementString("Active", EmergencyProfileActive, 10); writer.WriteStartElement("ActionOverThreshold", 11); if (ActionOverThreshold != null) { writer.WriteElementString("LN", ActionOverThreshold.LogicalName, 0); writer.WriteElementString("ScriptSelector", ActionOverThreshold.ScriptSelector, 0); } writer.WriteEndElement(); writer.WriteStartElement("ActionUnderThreshold", 12); if (ActionUnderThreshold != null) { writer.WriteElementString("LN", ActionUnderThreshold.LogicalName, 0); writer.WriteElementString("ScriptSelector", ActionUnderThreshold.ScriptSelector, 0); } writer.WriteEndElement(); }
void IGXDLMSBase.Save(GXXmlWriter writer) { writer.WriteElementString("InitiatorElectricalPhase", (int)InitiatorElectricalPhase); writer.WriteElementString("DeltaElectricalPhase", (int)DeltaElectricalPhase); writer.WriteElementString("MaxReceivingGain", MaxReceivingGain); writer.WriteElementString("MaxTransmittingGain", MaxTransmittingGain); writer.WriteElementString("SearchInitiatorThreshold", SearchInitiatorThreshold); writer.WriteElementString("MarkFrequency", MarkFrequency); writer.WriteElementString("SpaceFrequency", SpaceFrequency); writer.WriteElementString("MacAddress", MacAddress); if (MacGroupAddresses != null) { writer.WriteStartElement("MacGroupAddresses"); foreach (UInt16 it in MacGroupAddresses) { writer.WriteElementString("Value", it.ToString()); } writer.WriteEndElement(); } writer.WriteElementString("Repeater", (int)Repeater); writer.WriteElementString("RepeaterStatus", RepeaterStatus); writer.WriteElementString("MinDeltaCredit", MinDeltaCredit); writer.WriteElementString("InitiatorMacAddress", InitiatorMacAddress); writer.WriteElementString("SynchronizationLocked", SynchronizationLocked); writer.WriteElementString("TransmissionSpeed", (int)TransmissionSpeed); }
private void SaveSeasonProfile(GXXmlWriter writer, GXDLMSSeasonProfile[] list, string name) { if (list != null) { writer.WriteStartElement(name); foreach (GXDLMSSeasonProfile it in list) { writer.WriteStartElement("Item"); writer.WriteElementString("Name", GXDLMSTranslator.ToHex(it.Name)); writer.WriteElementString("Start", it.Start.ToFormatString(CultureInfo.InvariantCulture)); writer.WriteElementString("WeekName", GXDLMSTranslator.ToHex(it.WeekName)); writer.WriteEndElement(); } writer.WriteEndElement(); } }
private void SaveNeighborDiscoverySetup(GXXmlWriter writer, GXNeighborDiscoverySetup[] list, string name) { if (list != null) { writer.WriteStartElement(name); foreach (GXNeighborDiscoverySetup it in list) { writer.WriteStartElement("Item"); writer.WriteElementString("MaxRetry", it.MaxRetry); writer.WriteElementString("RetryWaitTime", it.RetryWaitTime); writer.WriteElementString("SendPeriod", it.SendPeriod); writer.WriteEndElement(); } writer.WriteEndElement(); } }
private void SaveBroadcastLogTable(GXXmlWriter writer) { if (BroadcastLogTable != null) { writer.WriteStartElement("BroadcastLogTable"); foreach (GXDLMSBroadcastLogTable it in BroadcastLogTable) { writer.WriteStartElement("Item"); writer.WriteElementObject("SourceAddress", it.SourceAddress); writer.WriteElementObject("SequenceNumber", it.SequenceNumber); writer.WriteElementObject("ValidTime", it.ValidTime); writer.WriteEndElement(); } writer.WriteEndElement(); } }
private void SaveCreditChargeConfigurations(GXXmlWriter writer, List <GXCreditChargeConfiguration> list, int index) { writer.WriteStartElement("CreditChargeConfigurations", index); if (list != null) { foreach (GXCreditChargeConfiguration it in list) { writer.WriteStartElement("Item", 0); writer.WriteElementString("Credit", it.CreditReference, 0); writer.WriteElementString("Charge", it.ChargeReference, 0); writer.WriteElementString("Configuration", (int)it.CollectionConfiguration, 3); writer.WriteEndElement(); } } writer.WriteEndElement(); }