Gurux.DLMS.Objects.GXDLMSPushSetup.IGXDLMSBase C# (CSharp) Method

IGXDLMSBase() public method

public IGXDLMSBase ( GXDLMSSettings settings, ValueEventArgs e ) : void
settings Gurux.DLMS.GXDLMSSettings
e Gurux.DLMS.ValueEventArgs
return void
        void IGXDLMSBase.SetValue(GXDLMSSettings settings, ValueEventArgs e)
        {
            if (e.Index == 1)
            {
                if (e.Value is string)
                {
                    LogicalName = e.Value.ToString();
                }
                else
                {
                    LogicalName = GXDLMSClient.ChangeType((byte[])e.Value, DataType.OctetString).ToString();
                }
            }
            else if (e.Index == 2)
            {
                PushObjectList.Clear();
                if (e.Value is Object[])
                {
                    foreach (object it in e.Value as Object[])
                    {
                        Object[] tmp = it as Object[];
                        ObjectType type = (ObjectType)Convert.ToUInt16(tmp[0]);
                        String ln = GXDLMSClient.ChangeType((byte[])tmp[1], DataType.OctetString).ToString();
                        GXDLMSObject obj = settings.Objects.FindByLN(type, ln);
                        if (obj == null)
                        {
                            obj = GXDLMSClient.CreateObject(type);
                            obj.LogicalName = ln;
                        }
                        GXDLMSCaptureObject co = new GXDLMSCaptureObject(Convert.ToInt32(tmp[2]), Convert.ToInt32(tmp[3]));
                        PushObjectList.Add(new KeyValuePair<GXDLMSObject, GXDLMSCaptureObject>(obj, co));
                    }
                }
            }
            else if (e.Index == 3)
            {
                object[] tmp = e.Value as object[];
                if (tmp != null)
                {
                    Service = (ServiceType)Convert.ToInt32(tmp[0]);
                    Destination = (string)GXDLMSClient.ChangeType((byte[])tmp[1], DataType.OctetString);
                    Message = (MessageType)Convert.ToInt32(tmp[2]);
                }
            }
            else if (e.Index == 4)
            {
                CommunicationWindow.Clear();
                if (e.Value is Object[])
                {
                    foreach (object it in e.Value as Object[])
                    {
                        Object[] tmp = it as Object[];
                        GXDateTime start = GXDLMSClient.ChangeType((byte[])tmp[0], DataType.DateTime) as GXDateTime;
                        GXDateTime end = GXDLMSClient.ChangeType((byte[])tmp[1], DataType.DateTime) as GXDateTime;
                        CommunicationWindow.Add(new KeyValuePair<GXDateTime, GXDateTime>(start, end));
                    }
                }
            }
            else if (e.Index == 5)
            {
                RandomisationStartInterval = (UInt16)e.Value;
            }
            else if (e.Index == 6)
            {
                NumberOfRetries = (byte)e.Value;
            }
            else if (e.Index == 7)
            {
                RepetitionDelay = (UInt16)e.Value;
            }
            else
            {
                e.Error = ErrorCode.ReadWriteDenied;
            }
        }
        #endregion

Same methods

GXDLMSPushSetup::IGXDLMSBase ( GXDLMSSettings settings, ValueEventArgs e ) : byte[]
GXDLMSPushSetup::IGXDLMSBase ( ) : int
GXDLMSPushSetup::IGXDLMSBase ( ) : int[]
GXDLMSPushSetup::IGXDLMSBase ( GXDLMSSettings settings, ValueEventArgs e ) : object
GXDLMSPushSetup::IGXDLMSBase ( ) : string[]