public static MSG_GET_READER_CAPABILITIES_RESPONSE FromBitArray( ref BitArray bit_array, ref int cursor, int length) { if (cursor > length) { return((MSG_GET_READER_CAPABILITIES_RESPONSE)null); } ArrayList arrayList = new ArrayList(); MSG_GET_READER_CAPABILITIES_RESPONSE capabilitiesResponse = new MSG_GET_READER_CAPABILITIES_RESPONSE(); cursor += 6; if ((int)(ulong)Util.CalculateVal(ref bit_array, ref cursor, 10) != (int)capabilitiesResponse.msgType) { cursor -= 16; return((MSG_GET_READER_CAPABILITIES_RESPONSE)null); } capabilitiesResponse.msgLen = (uint)(ulong)Util.CalculateVal(ref bit_array, ref cursor, 32); capabilitiesResponse.msgID = (uint)(ulong)Util.CalculateVal(ref bit_array, ref cursor, 32); capabilitiesResponse.LLRPStatus = PARAM_LLRPStatus.FromBitArray(ref bit_array, ref cursor, length); capabilitiesResponse.GeneralDeviceCapabilities = PARAM_GeneralDeviceCapabilities.FromBitArray(ref bit_array, ref cursor, length); capabilitiesResponse.LLRPCapabilities = PARAM_LLRPCapabilities.FromBitArray(ref bit_array, ref cursor, length); capabilitiesResponse.RegulatoryCapabilities = PARAM_RegulatoryCapabilities.FromBitArray(ref bit_array, ref cursor, length); ushort num1 = 1; while (num1 != (ushort)0) { num1 = (ushort)0; PARAM_C1G2LLRPCapabilities llrpCapabilities1 = PARAM_C1G2LLRPCapabilities.FromBitArray(ref bit_array, ref cursor, length); if (llrpCapabilities1 != null) { ++num1; capabilitiesResponse.AirProtocolLLRPCapabilities.Add((IParameter)llrpCapabilities1); } PARAM_C1G2LLRPCapabilities llrpCapabilities2; while ((llrpCapabilities2 = PARAM_C1G2LLRPCapabilities.FromBitArray(ref bit_array, ref cursor, length)) != null) { capabilitiesResponse.AirProtocolLLRPCapabilities.Add((IParameter)llrpCapabilities2); } } int num2; bool flag; do { num2 = cursor; flag = false; ICustom_Parameter customParameter = CustomParamDecodeFactory.DecodeCustomParameter(ref bit_array, ref cursor, length); if (customParameter != null && capabilitiesResponse.AddCustomParameter(customParameter)) { flag = true; } }while (flag); cursor = num2; return(capabilitiesResponse); }
public static MSG_GET_READER_CAPABILITIES FromBitArray( ref BitArray bit_array, ref int cursor, int length) { if (cursor > length) { return((MSG_GET_READER_CAPABILITIES)null); } ArrayList arrayList = new ArrayList(); MSG_GET_READER_CAPABILITIES readerCapabilities = new MSG_GET_READER_CAPABILITIES(); cursor += 6; if ((int)(ulong)Util.CalculateVal(ref bit_array, ref cursor, 10) != (int)readerCapabilities.msgType) { cursor -= 16; return((MSG_GET_READER_CAPABILITIES)null); } readerCapabilities.msgLen = (uint)(ulong)Util.CalculateVal(ref bit_array, ref cursor, 32); readerCapabilities.msgID = (uint)(ulong)Util.CalculateVal(ref bit_array, ref cursor, 32); if (cursor > length) { throw new Exception("Input data is not a complete LLRP message"); } int field_len = 8; object obj; Util.ConvertBitArrayToObj(ref bit_array, ref cursor, out obj, typeof(uint), field_len); readerCapabilities.RequestedData = (ENUM_GetReaderCapabilitiesRequestedData)(uint)obj; int num; bool flag; do { num = cursor; flag = false; ICustom_Parameter customParameter = CustomParamDecodeFactory.DecodeCustomParameter(ref bit_array, ref cursor, length); if (customParameter != null && readerCapabilities.AddCustomParameter(customParameter)) { flag = true; } }while (flag); cursor = num; return(readerCapabilities); }
public static MSG_RO_ACCESS_REPORT FromBitArray( ref BitArray bit_array, ref int cursor, int length) { if (cursor > length) { return((MSG_RO_ACCESS_REPORT)null); } ArrayList arrayList1 = new ArrayList(); MSG_RO_ACCESS_REPORT msgRoAccessReport = new MSG_RO_ACCESS_REPORT(); cursor += 6; if ((int)(ulong)Util.CalculateVal(ref bit_array, ref cursor, 10) != (int)msgRoAccessReport.msgType) { cursor -= 16; return((MSG_RO_ACCESS_REPORT)null); } msgRoAccessReport.msgLen = (uint)(ulong)Util.CalculateVal(ref bit_array, ref cursor, 32); msgRoAccessReport.msgID = (uint)(ulong)Util.CalculateVal(ref bit_array, ref cursor, 32); ArrayList arrayList2 = new ArrayList(); PARAM_TagReportData paramTagReportData; while ((paramTagReportData = PARAM_TagReportData.FromBitArray(ref bit_array, ref cursor, length)) != null) { arrayList2.Add((object)paramTagReportData); } if (arrayList2.Count > 0) { msgRoAccessReport.TagReportData = new PARAM_TagReportData[arrayList2.Count]; for (int index = 0; index < arrayList2.Count; ++index) { msgRoAccessReport.TagReportData[index] = (PARAM_TagReportData)arrayList2[index]; } } ArrayList arrayList3 = new ArrayList(); PARAM_RFSurveyReportData surveyReportData; while ((surveyReportData = PARAM_RFSurveyReportData.FromBitArray(ref bit_array, ref cursor, length)) != null) { arrayList3.Add((object)surveyReportData); } if (arrayList3.Count > 0) { msgRoAccessReport.RFSurveyReportData = new PARAM_RFSurveyReportData[arrayList3.Count]; for (int index = 0; index < arrayList3.Count; ++index) { msgRoAccessReport.RFSurveyReportData[index] = (PARAM_RFSurveyReportData)arrayList3[index]; } } int num; bool flag; do { num = cursor; flag = false; ICustom_Parameter customParameter = CustomParamDecodeFactory.DecodeCustomParameter(ref bit_array, ref cursor, length); if (customParameter != null && msgRoAccessReport.AddCustomParameter(customParameter)) { flag = true; } }while (flag); cursor = num; return(msgRoAccessReport); }
public static MSG_SET_READER_CONFIG FromBitArray( ref BitArray bit_array, ref int cursor, int length) { if (cursor > length) { return((MSG_SET_READER_CONFIG)null); } ArrayList arrayList1 = new ArrayList(); MSG_SET_READER_CONFIG msgSetReaderConfig = new MSG_SET_READER_CONFIG(); cursor += 6; if ((int)(ulong)Util.CalculateVal(ref bit_array, ref cursor, 10) != (int)msgSetReaderConfig.msgType) { cursor -= 16; return((MSG_SET_READER_CONFIG)null); } msgSetReaderConfig.msgLen = (uint)(ulong)Util.CalculateVal(ref bit_array, ref cursor, 32); msgSetReaderConfig.msgID = (uint)(ulong)Util.CalculateVal(ref bit_array, ref cursor, 32); if (cursor > length) { throw new Exception("Input data is not a complete LLRP message"); } int field_len = 1; object obj; Util.ConvertBitArrayToObj(ref bit_array, ref cursor, out obj, typeof(bool), field_len); msgSetReaderConfig.ResetToFactoryDefault = (bool)obj; cursor += 7; msgSetReaderConfig.ReaderEventNotificationSpec = PARAM_ReaderEventNotificationSpec.FromBitArray(ref bit_array, ref cursor, length); ArrayList arrayList2 = new ArrayList(); PARAM_AntennaProperties antennaProperties; while ((antennaProperties = PARAM_AntennaProperties.FromBitArray(ref bit_array, ref cursor, length)) != null) { arrayList2.Add((object)antennaProperties); } if (arrayList2.Count > 0) { msgSetReaderConfig.AntennaProperties = new PARAM_AntennaProperties[arrayList2.Count]; for (int index = 0; index < arrayList2.Count; ++index) { msgSetReaderConfig.AntennaProperties[index] = (PARAM_AntennaProperties)arrayList2[index]; } } ArrayList arrayList3 = new ArrayList(); PARAM_AntennaConfiguration antennaConfiguration; while ((antennaConfiguration = PARAM_AntennaConfiguration.FromBitArray(ref bit_array, ref cursor, length)) != null) { arrayList3.Add((object)antennaConfiguration); } if (arrayList3.Count > 0) { msgSetReaderConfig.AntennaConfiguration = new PARAM_AntennaConfiguration[arrayList3.Count]; for (int index = 0; index < arrayList3.Count; ++index) { msgSetReaderConfig.AntennaConfiguration[index] = (PARAM_AntennaConfiguration)arrayList3[index]; } } msgSetReaderConfig.ROReportSpec = PARAM_ROReportSpec.FromBitArray(ref bit_array, ref cursor, length); msgSetReaderConfig.AccessReportSpec = PARAM_AccessReportSpec.FromBitArray(ref bit_array, ref cursor, length); msgSetReaderConfig.KeepaliveSpec = PARAM_KeepaliveSpec.FromBitArray(ref bit_array, ref cursor, length); ArrayList arrayList4 = new ArrayList(); PARAM_GPOWriteData paramGpoWriteData; while ((paramGpoWriteData = PARAM_GPOWriteData.FromBitArray(ref bit_array, ref cursor, length)) != null) { arrayList4.Add((object)paramGpoWriteData); } if (arrayList4.Count > 0) { msgSetReaderConfig.GPOWriteData = new PARAM_GPOWriteData[arrayList4.Count]; for (int index = 0; index < arrayList4.Count; ++index) { msgSetReaderConfig.GPOWriteData[index] = (PARAM_GPOWriteData)arrayList4[index]; } } ArrayList arrayList5 = new ArrayList(); PARAM_GPIPortCurrentState portCurrentState; while ((portCurrentState = PARAM_GPIPortCurrentState.FromBitArray(ref bit_array, ref cursor, length)) != null) { arrayList5.Add((object)portCurrentState); } if (arrayList5.Count > 0) { msgSetReaderConfig.GPIPortCurrentState = new PARAM_GPIPortCurrentState[arrayList5.Count]; for (int index = 0; index < arrayList5.Count; ++index) { msgSetReaderConfig.GPIPortCurrentState[index] = (PARAM_GPIPortCurrentState)arrayList5[index]; } } msgSetReaderConfig.EventsAndReports = PARAM_EventsAndReports.FromBitArray(ref bit_array, ref cursor, length); int num; bool flag; do { num = cursor; flag = false; ICustom_Parameter customParameter = CustomParamDecodeFactory.DecodeCustomParameter(ref bit_array, ref cursor, length); if (customParameter != null && msgSetReaderConfig.AddCustomParameter(customParameter)) { flag = true; } }while (flag); cursor = num; return(msgSetReaderConfig); }
public static MSG_GET_READER_CONFIG FromBitArray( ref BitArray bit_array, ref int cursor, int length) { if (cursor > length) { return((MSG_GET_READER_CONFIG)null); } ArrayList arrayList = new ArrayList(); MSG_GET_READER_CONFIG msgGetReaderConfig = new MSG_GET_READER_CONFIG(); cursor += 6; if ((int)(ulong)Util.CalculateVal(ref bit_array, ref cursor, 10) != (int)msgGetReaderConfig.msgType) { cursor -= 16; return((MSG_GET_READER_CONFIG)null); } msgGetReaderConfig.msgLen = (uint)(ulong)Util.CalculateVal(ref bit_array, ref cursor, 32); msgGetReaderConfig.msgID = (uint)(ulong)Util.CalculateVal(ref bit_array, ref cursor, 32); if (cursor > length) { throw new Exception("Input data is not a complete LLRP message"); } int field_len1 = 16; object obj; Util.ConvertBitArrayToObj(ref bit_array, ref cursor, out obj, typeof(ushort), field_len1); msgGetReaderConfig.AntennaID = (ushort)obj; if (cursor > length) { throw new Exception("Input data is not a complete LLRP message"); } int field_len2 = 8; Util.ConvertBitArrayToObj(ref bit_array, ref cursor, out obj, typeof(uint), field_len2); msgGetReaderConfig.RequestedData = (ENUM_GetReaderConfigRequestedData)(uint)obj; if (cursor > length) { throw new Exception("Input data is not a complete LLRP message"); } int field_len3 = 16; Util.ConvertBitArrayToObj(ref bit_array, ref cursor, out obj, typeof(ushort), field_len3); msgGetReaderConfig.GPIPortNum = (ushort)obj; if (cursor > length) { throw new Exception("Input data is not a complete LLRP message"); } int field_len4 = 16; Util.ConvertBitArrayToObj(ref bit_array, ref cursor, out obj, typeof(ushort), field_len4); msgGetReaderConfig.GPOPortNum = (ushort)obj; int num; bool flag; do { num = cursor; flag = false; ICustom_Parameter customParameter = CustomParamDecodeFactory.DecodeCustomParameter(ref bit_array, ref cursor, length); if (customParameter != null && msgGetReaderConfig.AddCustomParameter(customParameter)) { flag = true; } }while (flag); cursor = num; return(msgGetReaderConfig); }
public static MSG_GET_READER_CONFIG_RESPONSE FromBitArray( ref BitArray bit_array, ref int cursor, int length) { if (cursor > length) { return((MSG_GET_READER_CONFIG_RESPONSE)null); } ArrayList arrayList1 = new ArrayList(); MSG_GET_READER_CONFIG_RESPONSE readerConfigResponse = new MSG_GET_READER_CONFIG_RESPONSE(); cursor += 6; if ((int)(ulong)Util.CalculateVal(ref bit_array, ref cursor, 10) != (int)readerConfigResponse.msgType) { cursor -= 16; return((MSG_GET_READER_CONFIG_RESPONSE)null); } readerConfigResponse.msgLen = (uint)(ulong)Util.CalculateVal(ref bit_array, ref cursor, 32); readerConfigResponse.msgID = (uint)(ulong)Util.CalculateVal(ref bit_array, ref cursor, 32); readerConfigResponse.LLRPStatus = PARAM_LLRPStatus.FromBitArray(ref bit_array, ref cursor, length); readerConfigResponse.Identification = PARAM_Identification.FromBitArray(ref bit_array, ref cursor, length); ArrayList arrayList2 = new ArrayList(); PARAM_AntennaProperties antennaProperties; while ((antennaProperties = PARAM_AntennaProperties.FromBitArray(ref bit_array, ref cursor, length)) != null) { arrayList2.Add((object)antennaProperties); } if (arrayList2.Count > 0) { readerConfigResponse.AntennaProperties = new PARAM_AntennaProperties[arrayList2.Count]; for (int index = 0; index < arrayList2.Count; ++index) { readerConfigResponse.AntennaProperties[index] = (PARAM_AntennaProperties)arrayList2[index]; } } ArrayList arrayList3 = new ArrayList(); PARAM_AntennaConfiguration antennaConfiguration; while ((antennaConfiguration = PARAM_AntennaConfiguration.FromBitArray(ref bit_array, ref cursor, length)) != null) { arrayList3.Add((object)antennaConfiguration); } if (arrayList3.Count > 0) { readerConfigResponse.AntennaConfiguration = new PARAM_AntennaConfiguration[arrayList3.Count]; for (int index = 0; index < arrayList3.Count; ++index) { readerConfigResponse.AntennaConfiguration[index] = (PARAM_AntennaConfiguration)arrayList3[index]; } } readerConfigResponse.ReaderEventNotificationSpec = PARAM_ReaderEventNotificationSpec.FromBitArray(ref bit_array, ref cursor, length); readerConfigResponse.ROReportSpec = PARAM_ROReportSpec.FromBitArray(ref bit_array, ref cursor, length); readerConfigResponse.AccessReportSpec = PARAM_AccessReportSpec.FromBitArray(ref bit_array, ref cursor, length); readerConfigResponse.LLRPConfigurationStateValue = PARAM_LLRPConfigurationStateValue.FromBitArray(ref bit_array, ref cursor, length); readerConfigResponse.KeepaliveSpec = PARAM_KeepaliveSpec.FromBitArray(ref bit_array, ref cursor, length); ArrayList arrayList4 = new ArrayList(); PARAM_GPIPortCurrentState portCurrentState; while ((portCurrentState = PARAM_GPIPortCurrentState.FromBitArray(ref bit_array, ref cursor, length)) != null) { arrayList4.Add((object)portCurrentState); } if (arrayList4.Count > 0) { readerConfigResponse.GPIPortCurrentState = new PARAM_GPIPortCurrentState[arrayList4.Count]; for (int index = 0; index < arrayList4.Count; ++index) { readerConfigResponse.GPIPortCurrentState[index] = (PARAM_GPIPortCurrentState)arrayList4[index]; } } ArrayList arrayList5 = new ArrayList(); PARAM_GPOWriteData paramGpoWriteData; while ((paramGpoWriteData = PARAM_GPOWriteData.FromBitArray(ref bit_array, ref cursor, length)) != null) { arrayList5.Add((object)paramGpoWriteData); } if (arrayList5.Count > 0) { readerConfigResponse.GPOWriteData = new PARAM_GPOWriteData[arrayList5.Count]; for (int index = 0; index < arrayList5.Count; ++index) { readerConfigResponse.GPOWriteData[index] = (PARAM_GPOWriteData)arrayList5[index]; } } readerConfigResponse.EventsAndReports = PARAM_EventsAndReports.FromBitArray(ref bit_array, ref cursor, length); int num; bool flag; do { num = cursor; flag = false; ICustom_Parameter customParameter = CustomParamDecodeFactory.DecodeCustomParameter(ref bit_array, ref cursor, length); if (customParameter != null && readerConfigResponse.AddCustomParameter(customParameter)) { flag = true; } }while (flag); cursor = num; return(readerConfigResponse); }