Esempio n. 1
0
        void IGXDLMSBase.Load(GXXmlReader reader)
        {
            ImageBlockSize = (UInt32)reader.ReadElementContentAsInt("ImageBlockSize");
            ImageTransferredBlocksStatus        = reader.ReadElementContentAsString("ImageTransferredBlocksStatus");
            ImageFirstNotTransferredBlockNumber = reader.ReadElementContentAsLong("ImageFirstNotTransferredBlockNumber");
            ImageTransferEnabled = reader.ReadElementContentAsInt("ImageTransferEnabled") != 0;
            ImageTransferStatus  = (ImageTransferStatus)reader.ReadElementContentAsInt("ImageTransferStatus");


            List <GXDLMSImageActivateInfo> list = new List <GXDLMSImageActivateInfo>();

            if (reader.IsStartElement("ImageActivateInfo", true))
            {
                while (reader.IsStartElement("Item", true))
                {
                    GXDLMSImageActivateInfo it = new GXDLMSImageActivateInfo();
                    it.Size           = reader.ReadElementContentAsULong("Size");
                    it.Identification = GXCommon.HexToBytes(reader.ReadElementContentAsString("Identification"));
                    it.Signature      = GXCommon.HexToBytes(reader.ReadElementContentAsString("Signature"));
                    list.Add(it);
                }
                reader.ReadEndElement("ImageActivateInfo");
            }
            ImageActivateInfo = list.ToArray();
        }
Esempio n. 2
0
        void IGXDLMSBase.Load(GXXmlReader reader)
        {
            DataLinkLayerReference = reader.ReadElementContentAsString("DataLinkLayerReference");
            IPAddress = reader.ReadElementContentAsString("IPAddress");
            List <UInt32> list = new List <UInt32>();

            if (reader.IsStartElement("MulticastIPAddress", true))
            {
                while (reader.IsStartElement("Value", false))
                {
                    list.Add((UInt32)reader.ReadElementContentAsInt("Value"));
                }
                reader.ReadEndElement("MulticastIPAddress");
            }
            MulticastIPAddress = list.ToArray();

            List <GXDLMSIp4SetupIpOption> ipOptions = new List <GXDLMSIp4SetupIpOption>();

            if (reader.IsStartElement("IPOptions", true))
            {
                while (reader.IsStartElement("IPOptions", true))
                {
                    GXDLMSIp4SetupIpOption it = new GXDLMSIp4SetupIpOption();
                    it.Type   = (Ip4SetupIpOptionType)reader.ReadElementContentAsInt("Type");
                    it.Length = (byte)reader.ReadElementContentAsInt("Length");
                    it.Data   = GXDLMSTranslator.HexToBytes(reader.ReadElementContentAsString("Data"));
                    ipOptions.Add(it);
                }
                reader.ReadEndElement("IPOptions");
            }
            IPOptions           = ipOptions.ToArray();
            SubnetMask          = reader.ReadElementContentAsULong("SubnetMask");
            GatewayIPAddress    = reader.ReadElementContentAsULong("GatewayIPAddress");
            UseDHCP             = reader.ReadElementContentAsInt("UseDHCP") != 0;
            PrimaryDNSAddress   = reader.ReadElementContentAsULong("PrimaryDNSAddress");
            SecondaryDNSAddress = reader.ReadElementContentAsULong("SecondaryDNSAddress");
        }