Exemple #1
0
        public new static MSG_GET_READER_CONFIG_RESPONSE FromString(string str)
        {
            string val;

            XmlDocument xdoc = new XmlDocument();
            xdoc.LoadXml(str);
            XmlNode node = (XmlNode)xdoc.DocumentElement;

            MSG_GET_READER_CONFIG_RESPONSE msg = new MSG_GET_READER_CONFIG_RESPONSE();
            try { msg.MSG_ID = Convert.ToUInt32(XmlUtil.GetNodeAttrValue(node, "MessageID")); }
            catch { }


            try
            {

                XmlNodeList xnl = XmlUtil.GetXmlNodes(node, "LLRPStatus");
                if (null != xnl)
                {
                    if (xnl.Count != 0)
                        msg.LLRPStatus = PARAM_LLRPStatus.FromXmlNode(xnl[0]);
                }

            }
            catch { }

            try
            {

                XmlNodeList xnl = XmlUtil.GetXmlNodes(node, "Identification");
                if (null != xnl)
                {
                    if (xnl.Count != 0)
                        msg.Identification = PARAM_Identification.FromXmlNode(xnl[0]);
                }

            }
            catch { }

            try
            {

                XmlNodeList xnl = XmlUtil.GetXmlNodes(node, "AntennaProperties");
                if (null != xnl)
                {
                    if (xnl.Count != 0)
                    {
                        msg.AntennaProperties = new PARAM_AntennaProperties[xnl.Count];
                        for (int i = 0; i < xnl.Count; i++)
                            msg.AntennaProperties[i] = PARAM_AntennaProperties.FromXmlNode(xnl[i]);
                    }
                }

            }
            catch { }

            try
            {

                XmlNodeList xnl = XmlUtil.GetXmlNodes(node, "AntennaConfiguration");
                if (null != xnl)
                {
                    if (xnl.Count != 0)
                    {
                        msg.AntennaConfiguration = new PARAM_AntennaConfiguration[xnl.Count];
                        for (int i = 0; i < xnl.Count; i++)
                            msg.AntennaConfiguration[i] = PARAM_AntennaConfiguration.FromXmlNode(xnl[i]);
                    }
                }

            }
            catch { }

            try
            {

                XmlNodeList xnl = XmlUtil.GetXmlNodes(node, "ReaderEventNotificationSpec");
                if (null != xnl)
                {
                    if (xnl.Count != 0)
                        msg.ReaderEventNotificationSpec = PARAM_ReaderEventNotificationSpec.FromXmlNode(xnl[0]);
                }

            }
            catch { }

            try
            {

                XmlNodeList xnl = XmlUtil.GetXmlNodes(node, "ROReportSpec");
                if (null != xnl)
                {
                    if (xnl.Count != 0)
                        msg.ROReportSpec = PARAM_ROReportSpec.FromXmlNode(xnl[0]);
                }

            }
            catch { }

            try
            {

                XmlNodeList xnl = XmlUtil.GetXmlNodes(node, "AccessReportSpec");
                if (null != xnl)
                {
                    if (xnl.Count != 0)
                        msg.AccessReportSpec = PARAM_AccessReportSpec.FromXmlNode(xnl[0]);
                }

            }
            catch { }

            try
            {

                XmlNodeList xnl = XmlUtil.GetXmlNodes(node, "LLRPConfigurationStateValue");
                if (null != xnl)
                {
                    if (xnl.Count != 0)
                        msg.LLRPConfigurationStateValue = PARAM_LLRPConfigurationStateValue.FromXmlNode(xnl[0]);
                }

            }
            catch { }

            try
            {

                XmlNodeList xnl = XmlUtil.GetXmlNodes(node, "KeepaliveSpec");
                if (null != xnl)
                {
                    if (xnl.Count != 0)
                        msg.KeepaliveSpec = PARAM_KeepaliveSpec.FromXmlNode(xnl[0]);
                }

            }
            catch { }

            try
            {

                XmlNodeList xnl = XmlUtil.GetXmlNodes(node, "GPIPortCurrentState");
                if (null != xnl)
                {
                    if (xnl.Count != 0)
                    {
                        msg.GPIPortCurrentState = new PARAM_GPIPortCurrentState[xnl.Count];
                        for (int i = 0; i < xnl.Count; i++)
                            msg.GPIPortCurrentState[i] = PARAM_GPIPortCurrentState.FromXmlNode(xnl[i]);
                    }
                }

            }
            catch { }

            try
            {

                XmlNodeList xnl = XmlUtil.GetXmlNodes(node, "GPOWriteData");
                if (null != xnl)
                {
                    if (xnl.Count != 0)
                    {
                        msg.GPOWriteData = new PARAM_GPOWriteData[xnl.Count];
                        for (int i = 0; i < xnl.Count; i++)
                            msg.GPOWriteData[i] = PARAM_GPOWriteData.FromXmlNode(xnl[i]);
                    }
                }

            }
            catch { }

            try
            {

                XmlNodeList xnl = XmlUtil.GetXmlNodes(node, "EventsAndReports");
                if (null != xnl)
                {
                    if (xnl.Count != 0)
                        msg.EventsAndReports = PARAM_EventsAndReports.FromXmlNode(xnl[0]);
                }

            }
            catch { }

            try
            {

                ArrayList xnl = XmlUtil.GetXmlNodeCustomChildren(node);
                if (null != xnl)
                {
                    if (xnl.Count != 0)
                    {
                        for (int i = 0; i < xnl.Count; i++)
                        {
                            ICustom_Parameter custom = CustomParamDecodeFactory.DecodeXmlNodeToCustomParameter((XmlNode)xnl[i]);
                            if (custom != null) msg.AddCustomParameter(custom);
                        }
                    }
                }

            }
            catch { }

            return msg;
        }
Exemple #2
0
        public new static MSG_GET_READER_CONFIG_RESPONSE FromBitArray(ref BitArray bit_array, ref int cursor, int length)
        {
            if (cursor > length) return null;

            int field_len = 0;
            object obj_val;
            ArrayList param_list = new ArrayList();

            MSG_GET_READER_CONFIG_RESPONSE obj = new MSG_GET_READER_CONFIG_RESPONSE();

            int msg_type = 0;
            cursor += 6;
            msg_type = (int)(UInt64)Util.CalculateVal(ref bit_array, ref cursor, 10);

            if (msg_type != obj.msgType)
            {
                cursor -= 16;
                return null;
            }

            obj.msgLen = (UInt32)(UInt64)Util.CalculateVal(ref bit_array, ref cursor, 32);
            obj.msgID = (UInt32)(UInt64)Util.CalculateVal(ref bit_array, ref cursor, 32);


            obj.LLRPStatus = PARAM_LLRPStatus.FromBitArray(ref bit_array, ref cursor, length);

            obj.Identification = PARAM_Identification.FromBitArray(ref bit_array, ref cursor, length);

            param_list = new ArrayList();
            PARAM_AntennaProperties _param_AntennaProperties = PARAM_AntennaProperties.FromBitArray(ref bit_array, ref cursor, length);
            if (_param_AntennaProperties != null)
            {
                param_list.Add(_param_AntennaProperties);
                while ((_param_AntennaProperties = PARAM_AntennaProperties.FromBitArray(ref bit_array, ref cursor, length)) != null) param_list.Add(_param_AntennaProperties);
                if (param_list.Count > 0)
                {
                    obj.AntennaProperties = new PARAM_AntennaProperties[param_list.Count];
                    for (int i = 0; i < param_list.Count; i++)
                        obj.AntennaProperties[i] = (PARAM_AntennaProperties)param_list[i];
                }
            }

            param_list = new ArrayList();
            PARAM_AntennaConfiguration _param_AntennaConfiguration = PARAM_AntennaConfiguration.FromBitArray(ref bit_array, ref cursor, length);
            if (_param_AntennaConfiguration != null)
            {
                param_list.Add(_param_AntennaConfiguration);
                while ((_param_AntennaConfiguration = PARAM_AntennaConfiguration.FromBitArray(ref bit_array, ref cursor, length)) != null) param_list.Add(_param_AntennaConfiguration);
                if (param_list.Count > 0)
                {
                    obj.AntennaConfiguration = new PARAM_AntennaConfiguration[param_list.Count];
                    for (int i = 0; i < param_list.Count; i++)
                        obj.AntennaConfiguration[i] = (PARAM_AntennaConfiguration)param_list[i];
                }
            }

            obj.ReaderEventNotificationSpec = PARAM_ReaderEventNotificationSpec.FromBitArray(ref bit_array, ref cursor, length);

            obj.ROReportSpec = PARAM_ROReportSpec.FromBitArray(ref bit_array, ref cursor, length);

            obj.AccessReportSpec = PARAM_AccessReportSpec.FromBitArray(ref bit_array, ref cursor, length);

            obj.LLRPConfigurationStateValue = PARAM_LLRPConfigurationStateValue.FromBitArray(ref bit_array, ref cursor, length);

            obj.KeepaliveSpec = PARAM_KeepaliveSpec.FromBitArray(ref bit_array, ref cursor, length);

            param_list = new ArrayList();
            PARAM_GPIPortCurrentState _param_GPIPortCurrentState = PARAM_GPIPortCurrentState.FromBitArray(ref bit_array, ref cursor, length);
            if (_param_GPIPortCurrentState != null)
            {
                param_list.Add(_param_GPIPortCurrentState);
                while ((_param_GPIPortCurrentState = PARAM_GPIPortCurrentState.FromBitArray(ref bit_array, ref cursor, length)) != null) param_list.Add(_param_GPIPortCurrentState);
                if (param_list.Count > 0)
                {
                    obj.GPIPortCurrentState = new PARAM_GPIPortCurrentState[param_list.Count];
                    for (int i = 0; i < param_list.Count; i++)
                        obj.GPIPortCurrentState[i] = (PARAM_GPIPortCurrentState)param_list[i];
                }
            }

            param_list = new ArrayList();
            PARAM_GPOWriteData _param_GPOWriteData = PARAM_GPOWriteData.FromBitArray(ref bit_array, ref cursor, length);
            if (_param_GPOWriteData != null)
            {
                param_list.Add(_param_GPOWriteData);
                while ((_param_GPOWriteData = PARAM_GPOWriteData.FromBitArray(ref bit_array, ref cursor, length)) != null) param_list.Add(_param_GPOWriteData);
                if (param_list.Count > 0)
                {
                    obj.GPOWriteData = new PARAM_GPOWriteData[param_list.Count];
                    for (int i = 0; i < param_list.Count; i++)
                        obj.GPOWriteData[i] = (PARAM_GPOWriteData)param_list[i];
                }
            }

            obj.EventsAndReports = PARAM_EventsAndReports.FromBitArray(ref bit_array, ref cursor, length);

            ICustom_Parameter custom = CustomParamDecodeFactory.DecodeCustomParameter(ref bit_array, ref cursor, length);
            if (custom != null)
            {
                obj.Custom.Add(custom);
                while ((custom = CustomParamDecodeFactory.DecodeCustomParameter(ref bit_array, ref cursor, length)) != null) obj.Custom.Add(custom);
            }

            return obj;
        }