/* * Copyright (C) 2007-2018 Siemens AG * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published * by the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see . */ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com * @version 0.9.4 * @contact Richard.Kuntschke@siemens.com * *

Code generated by EXIdizer

*

Schema: V2G_CI_MsgDef.xsd

* * ********************************************************************/ #include "iso2EXIDatatypesDecoder.h" #include "DecoderChannel.h" #include "EXIHeaderDecoder.h" #include "iso2EXIDatatypes.h" #include "ErrorCodes.h" #ifndef EXI_iso2_DATATYPES_DECODER_C #define EXI_iso2_DATATYPES_DECODER_C #if DEPLOY_ISO2_CODEC == SUPPORT_YES /** event-code */ static uint32_t eventCode; static int errn; static uint32_t uint32; /* Forward Declarations */ static int decode_iso2RetrievalMethodType(bitstream_t* stream, struct iso2RetrievalMethodType* iso2RetrievalMethodType); static int decode_iso2AuthorizationResType(bitstream_t* stream, struct iso2AuthorizationResType* iso2AuthorizationResType); static int decode_iso2MV_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2MV_EVSEFinePositioningSetupParametersType* iso2MV_EVSEFinePositioningSetupParametersType); static int decode_iso2X509DataType(bitstream_t* stream, struct iso2X509DataType* iso2X509DataType); static int decode_iso2RSAKeyValueType(bitstream_t* stream, struct iso2RSAKeyValueType* iso2RSAKeyValueType); static int decode_iso2DC_BidirectionalControlResType(bitstream_t* stream, struct iso2DC_BidirectionalControlResType* iso2DC_BidirectionalControlResType); static int decode_iso2CostType(bitstream_t* stream, struct iso2CostType* iso2CostType); static int decode_iso2ChargingStatusResType(bitstream_t* stream, struct iso2ChargingStatusResType* iso2ChargingStatusResType); static int decode_iso2MeterInfoType(bitstream_t* stream, struct iso2MeterInfoType* iso2MeterInfoType); static int decode_iso2AC_EVChargeParameterType(bitstream_t* stream, struct iso2AC_EVChargeParameterType* iso2AC_EVChargeParameterType); static int decode_iso2AC_EVSEBidirectionalParameterType(bitstream_t* stream, struct iso2AC_EVSEBidirectionalParameterType* iso2AC_EVSEBidirectionalParameterType); static int decode_iso2VehicleCheckOutResType(bitstream_t* stream, struct iso2VehicleCheckOutResType* iso2VehicleCheckOutResType); static int decode_iso2MagneticVectorListType(bitstream_t* stream, struct iso2MagneticVectorListType* iso2MagneticVectorListType); static int decode_iso2CableCheckResType(bitstream_t* stream, struct iso2CableCheckResType* iso2CableCheckResType); static int decode_iso2ServiceDiscoveryReqType(bitstream_t* stream, struct iso2ServiceDiscoveryReqType* iso2ServiceDiscoveryReqType); static int decode_iso2ServiceType(bitstream_t* stream, struct iso2ServiceType* iso2ServiceType); static int decode_iso2ServiceParameterListType(bitstream_t* stream, struct iso2ServiceParameterListType* iso2ServiceParameterListType); static int decode_iso2PMaxScheduleType(bitstream_t* stream, struct iso2PMaxScheduleType* iso2PMaxScheduleType); static int decode_iso2SignaturePropertiesType(bitstream_t* stream, struct iso2SignaturePropertiesType* iso2SignaturePropertiesType); static int decode_iso2PMaxScheduleEntryType(bitstream_t* stream, struct iso2PMaxScheduleEntryType* iso2PMaxScheduleEntryType); static int decode_iso2SignatureType(bitstream_t* stream, struct iso2SignatureType* iso2SignatureType); static int decode_iso2VehicleCheckInReqType(bitstream_t* stream, struct iso2VehicleCheckInReqType* iso2VehicleCheckInReqType); static int decode_iso2ConnectChargingDeviceResType(bitstream_t* stream, struct iso2ConnectChargingDeviceResType* iso2ConnectChargingDeviceResType); static int decode_iso2WeldingDetectionResType(bitstream_t* stream, struct iso2WeldingDetectionResType* iso2WeldingDetectionResType); static int decode_iso2SessionStopResType(bitstream_t* stream, struct iso2SessionStopResType* iso2SessionStopResType); static int decode_iso2VehicleCheckInResType(bitstream_t* stream, struct iso2VehicleCheckInResType* iso2VehicleCheckInResType); static int decode_iso2ServiceListType(bitstream_t* stream, struct iso2ServiceListType* iso2ServiceListType); static int decode_iso2CertificateUpdateResType(bitstream_t* stream, struct iso2CertificateUpdateResType* iso2CertificateUpdateResType); static int decode_iso2FinePositioningSetupResType(bitstream_t* stream, struct iso2FinePositioningSetupResType* iso2FinePositioningSetupResType); static int decode_iso2AC_EVBidirectionalParameterType(bitstream_t* stream, struct iso2AC_EVBidirectionalParameterType* iso2AC_EVBidirectionalParameterType); static int decode_iso2DC_BidirectionalControlReqType(bitstream_t* stream, struct iso2DC_BidirectionalControlReqType* iso2DC_BidirectionalControlReqType); static int decode_iso2CertificateUpdateReqType(bitstream_t* stream, struct iso2CertificateUpdateReqType* iso2CertificateUpdateReqType); static int decode_iso2ConsumptionCostType(bitstream_t* stream, struct iso2ConsumptionCostType* iso2ConsumptionCostType); static int decode_iso2SAScheduleListType(bitstream_t* stream, struct iso2SAScheduleListType* iso2SAScheduleListType); static int decode_iso2MagneticVectorSetupType(bitstream_t* stream, struct iso2MagneticVectorSetupType* iso2MagneticVectorSetupType); static int decode_iso2LFA_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2LFA_EVSEFinePositioningSetupParametersType* iso2LFA_EVSEFinePositioningSetupParametersType); static int decode_iso2PaymentOptionListType(bitstream_t* stream, struct iso2PaymentOptionListType* iso2PaymentOptionListType); static int decode_iso2LFA_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2LFA_EVSEFinePositioningParametersType* iso2LFA_EVSEFinePositioningParametersType); static int decode_iso2RelativeTimeIntervalType(bitstream_t* stream, struct iso2RelativeTimeIntervalType* iso2RelativeTimeIntervalType); static int decode_iso2EVFinePositioningParametersType(bitstream_t* stream, struct iso2EVFinePositioningParametersType* iso2EVFinePositioningParametersType); static int decode_iso2AlignmentCheckReqType(bitstream_t* stream, struct iso2AlignmentCheckReqType* iso2AlignmentCheckReqType); static int decode_iso2CertificateInstallationReqType(bitstream_t* stream, struct iso2CertificateInstallationReqType* iso2CertificateInstallationReqType); static int decode_iso2TransformsType(bitstream_t* stream, struct iso2TransformsType* iso2TransformsType); static int decode_iso2ObjectType(bitstream_t* stream, struct iso2ObjectType* iso2ObjectType); static int decode_iso2SensorOrderListType(bitstream_t* stream, struct iso2SensorOrderListType* iso2SensorOrderListType); static int decode_iso2ChargeParameterDiscoveryReqType(bitstream_t* stream, struct iso2ChargeParameterDiscoveryReqType* iso2ChargeParameterDiscoveryReqType); static int decode_iso2ParameterType(bitstream_t* stream, struct iso2ParameterType* iso2ParameterType); static int decode_iso2SessionStopReqType(bitstream_t* stream, struct iso2SessionStopReqType* iso2SessionStopReqType); static int decode_iso2SensorMeasurementsType(bitstream_t* stream, struct iso2SensorMeasurementsType* iso2SensorMeasurementsType); static int decode_iso2DC_EVSEChargeParameterType(bitstream_t* stream, struct iso2DC_EVSEChargeParameterType* iso2DC_EVSEChargeParameterType); static int decode_iso2SensorPackageListType(bitstream_t* stream, struct iso2SensorPackageListType* iso2SensorPackageListType); static int decode_iso2MeasurementDataListType(bitstream_t* stream, struct iso2MeasurementDataListType* iso2MeasurementDataListType); static int decode_iso2CertificateChainType(bitstream_t* stream, struct iso2CertificateChainType* iso2CertificateChainType); static int decode_iso2SignaturePropertyType(bitstream_t* stream, struct iso2SignaturePropertyType* iso2SignaturePropertyType); static int decode_iso2TransformType(bitstream_t* stream, struct iso2TransformType* iso2TransformType); static int decode_iso2EMAIDType(bitstream_t* stream, struct iso2EMAIDType* iso2EMAIDType); static int decode_iso2DSAKeyValueType(bitstream_t* stream, struct iso2DSAKeyValueType* iso2DSAKeyValueType); static int decode_iso2EntryType(bitstream_t* stream, struct iso2EntryType* iso2EntryType); static int decode_iso2MessageHeaderType(bitstream_t* stream, struct iso2MessageHeaderType* iso2MessageHeaderType); static int decode_iso2WPT_EVChargeParameterType(bitstream_t* stream, struct iso2WPT_EVChargeParameterType* iso2WPT_EVChargeParameterType); static int decode_iso2DisconnectChargingDeviceReqType(bitstream_t* stream, struct iso2DisconnectChargingDeviceReqType* iso2DisconnectChargingDeviceReqType); static int decode_iso2ChargeLoopReqType(bitstream_t* stream, struct iso2ChargeLoopReqType* iso2ChargeLoopReqType); static int decode_iso2V2GRequestType(bitstream_t* stream, struct iso2V2GRequestType* iso2V2GRequestType); static int decode_iso2MeteringReceiptResType(bitstream_t* stream, struct iso2MeteringReceiptResType* iso2MeteringReceiptResType); static int decode_iso2SessionSetupResType(bitstream_t* stream, struct iso2SessionSetupResType* iso2SessionSetupResType); static int decode_iso2AC_BidirectionalControlReqType(bitstream_t* stream, struct iso2AC_BidirectionalControlReqType* iso2AC_BidirectionalControlReqType); static int decode_iso2MV_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2MV_EVSEFinePositioningParametersType* iso2MV_EVSEFinePositioningParametersType); static int decode_iso2ReferenceType(bitstream_t* stream, struct iso2ReferenceType* iso2ReferenceType); static int decode_iso2EVSEEnergyTransferParameterType(bitstream_t* stream, struct iso2EVSEEnergyTransferParameterType* iso2EVSEEnergyTransferParameterType); static int decode_iso2MeteringReceiptReqType(bitstream_t* stream, struct iso2MeteringReceiptReqType* iso2MeteringReceiptReqType); static int decode_iso2KeyValueType(bitstream_t* stream, struct iso2KeyValueType* iso2KeyValueType); static int decode_iso2SensorListType(bitstream_t* stream, struct iso2SensorListType* iso2SensorListType); static int decode_iso2CurrentDemandReqType(bitstream_t* stream, struct iso2CurrentDemandReqType* iso2CurrentDemandReqType); static int decode_iso2FinePositioningSetupReqType(bitstream_t* stream, struct iso2FinePositioningSetupReqType* iso2FinePositioningSetupReqType); static int decode_iso2LFA_EVFinePositioningSetupParametersType(bitstream_t* stream, struct iso2LFA_EVFinePositioningSetupParametersType* iso2LFA_EVFinePositioningSetupParametersType); static int decode_iso2SAScheduleTupleType(bitstream_t* stream, struct iso2SAScheduleTupleType* iso2SAScheduleTupleType); static int decode_iso2WPT_EVSEChargeParameterType(bitstream_t* stream, struct iso2WPT_EVSEChargeParameterType* iso2WPT_EVSEChargeParameterType); static int decode_iso2FinePositioningResType(bitstream_t* stream, struct iso2FinePositioningResType* iso2FinePositioningResType); static int decode_iso2BodyBaseType(bitstream_t* stream, struct iso2BodyBaseType* iso2BodyBaseType); static int decode_iso2ServiceDetailResType(bitstream_t* stream, struct iso2ServiceDetailResType* iso2ServiceDetailResType); static int decode_iso2PowerDeliveryReqType(bitstream_t* stream, struct iso2PowerDeliveryReqType* iso2PowerDeliveryReqType); static int decode_iso2PairingResType(bitstream_t* stream, struct iso2PairingResType* iso2PairingResType); static int decode_iso2AuthorizationReqType(bitstream_t* stream, struct iso2AuthorizationReqType* iso2AuthorizationReqType); static int decode_iso2ParameterSetType(bitstream_t* stream, struct iso2ParameterSetType* iso2ParameterSetType); static int decode_iso2SPKIDataType(bitstream_t* stream, struct iso2SPKIDataType* iso2SPKIDataType); static int decode_iso2PaymentDetailsResType(bitstream_t* stream, struct iso2PaymentDetailsResType* iso2PaymentDetailsResType); static int decode_iso2SignatureMethodType(bitstream_t* stream, struct iso2SignatureMethodType* iso2SignatureMethodType); static int decode_iso2AC_BidirectionalControlResType(bitstream_t* stream, struct iso2AC_BidirectionalControlResType* iso2AC_BidirectionalControlResType); static int decode_iso2VehicleCheckOutReqType(bitstream_t* stream, struct iso2VehicleCheckOutReqType* iso2VehicleCheckOutReqType); static int decode_iso2WeldingDetectionReqType(bitstream_t* stream, struct iso2WeldingDetectionReqType* iso2WeldingDetectionReqType); static int decode_iso2AlignmentCheckResType(bitstream_t* stream, struct iso2AlignmentCheckResType* iso2AlignmentCheckResType); static int decode_iso2PowerDemandReqType(bitstream_t* stream, struct iso2PowerDemandReqType* iso2PowerDemandReqType); static int decode_iso2MinimumPMaxRequestType(bitstream_t* stream, struct iso2MinimumPMaxRequestType* iso2MinimumPMaxRequestType); static int decode_iso2DisconnectChargingDeviceResType(bitstream_t* stream, struct iso2DisconnectChargingDeviceResType* iso2DisconnectChargingDeviceResType); static int decode_iso2SessionSetupReqType(bitstream_t* stream, struct iso2SessionSetupReqType* iso2SessionSetupReqType); static int decode_iso2PaymentDetailsReqType(bitstream_t* stream, struct iso2PaymentDetailsReqType* iso2PaymentDetailsReqType); static int decode_iso2Generic_EVFinePositioningParametersType(bitstream_t* stream, struct iso2Generic_EVFinePositioningParametersType* iso2Generic_EVFinePositioningParametersType); static int decode_iso2ConnectChargingDeviceReqType(bitstream_t* stream, struct iso2ConnectChargingDeviceReqType* iso2ConnectChargingDeviceReqType); static int decode_iso2AC_EVSEChargeParameterType(bitstream_t* stream, struct iso2AC_EVSEChargeParameterType* iso2AC_EVSEChargeParameterType); static int decode_iso2SalesTariffEntryType(bitstream_t* stream, struct iso2SalesTariffEntryType* iso2SalesTariffEntryType); static int decode_iso2DC_EVSEBidirectionalParameterType(bitstream_t* stream, struct iso2DC_EVSEBidirectionalParameterType* iso2DC_EVSEBidirectionalParameterType); static int decode_iso2CanonicalizationMethodType(bitstream_t* stream, struct iso2CanonicalizationMethodType* iso2CanonicalizationMethodType); static int decode_iso2DisplayParametersType(bitstream_t* stream, struct iso2DisplayParametersType* iso2DisplayParametersType); static int decode_iso2DC_EVBidirectionalParameterType(bitstream_t* stream, struct iso2DC_EVBidirectionalParameterType* iso2DC_EVBidirectionalParameterType); static int decode_iso2PaymentServiceSelectionReqType(bitstream_t* stream, struct iso2PaymentServiceSelectionReqType* iso2PaymentServiceSelectionReqType); static int decode_iso2MagneticVectorType(bitstream_t* stream, struct iso2MagneticVectorType* iso2MagneticVectorType); static int decode_iso2PhysicalValueType(bitstream_t* stream, struct iso2PhysicalValueType* iso2PhysicalValueType); static int decode_iso2SystemStatusReqType(bitstream_t* stream, struct iso2SystemStatusReqType* iso2SystemStatusReqType); static int decode_iso2SystemStatusResType(bitstream_t* stream, struct iso2SystemStatusResType* iso2SystemStatusResType); static int decode_iso2EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2EVSEFinePositioningSetupParametersType* iso2EVSEFinePositioningSetupParametersType); static int decode_iso2V2GResponseType(bitstream_t* stream, struct iso2V2GResponseType* iso2V2GResponseType); static int decode_iso2BodyType(bitstream_t* stream, struct iso2BodyType* iso2BodyType); static int decode_iso2PreChargeResType(bitstream_t* stream, struct iso2PreChargeResType* iso2PreChargeResType); static int decode_iso2EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2EVSEFinePositioningParametersType* iso2EVSEFinePositioningParametersType); static int decode_iso2PaymentServiceSelectionResType(bitstream_t* stream, struct iso2PaymentServiceSelectionResType* iso2PaymentServiceSelectionResType); static int decode_iso2DigestMethodType(bitstream_t* stream, struct iso2DigestMethodType* iso2DigestMethodType); static int decode_iso2TargetPositionType(bitstream_t* stream, struct iso2TargetPositionType* iso2TargetPositionType); static int decode_iso2LFA_EVFinePositioningParametersType(bitstream_t* stream, struct iso2LFA_EVFinePositioningParametersType* iso2LFA_EVFinePositioningParametersType); static int decode_iso2DC_EVChargeParameterType(bitstream_t* stream, struct iso2DC_EVChargeParameterType* iso2DC_EVChargeParameterType); static int decode_iso2ServiceDetailReqType(bitstream_t* stream, struct iso2ServiceDetailReqType* iso2ServiceDetailReqType); static int decode_iso2PreChargeReqType(bitstream_t* stream, struct iso2PreChargeReqType* iso2PreChargeReqType); static int decode_iso2ManifestType(bitstream_t* stream, struct iso2ManifestType* iso2ManifestType); static int decode_iso2AnonType_V2G_Message(bitstream_t* stream, struct iso2AnonType_V2G_Message* iso2AnonType_V2G_Message); static int decode_iso2SelectedServiceListType(bitstream_t* stream, struct iso2SelectedServiceListType* iso2SelectedServiceListType); static int decode_iso2Generic_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2Generic_EVSEFinePositioningParametersType* iso2Generic_EVSEFinePositioningParametersType); static int decode_iso2CartesianCoordinatesType(bitstream_t* stream, struct iso2CartesianCoordinatesType* iso2CartesianCoordinatesType); static int decode_iso2KeyInfoType(bitstream_t* stream, struct iso2KeyInfoType* iso2KeyInfoType); static int decode_iso2SubCertificatesType(bitstream_t* stream, struct iso2SubCertificatesType* iso2SubCertificatesType); static int decode_iso2ListOfRootCertificateIDsType(bitstream_t* stream, struct iso2ListOfRootCertificateIDsType* iso2ListOfRootCertificateIDsType); static int decode_iso2EVEnergyTransferParameterType(bitstream_t* stream, struct iso2EVEnergyTransferParameterType* iso2EVEnergyTransferParameterType); static int decode_iso2ContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct iso2ContractSignatureEncryptedPrivateKeyType* iso2ContractSignatureEncryptedPrivateKeyType); static int decode_iso2MagneticVectorSetupListType(bitstream_t* stream, struct iso2MagneticVectorSetupListType* iso2MagneticVectorSetupListType); static int decode_iso2PairingReqType(bitstream_t* stream, struct iso2PairingReqType* iso2PairingReqType); static int decode_iso2CurrentDemandResType(bitstream_t* stream, struct iso2CurrentDemandResType* iso2CurrentDemandResType); static int decode_iso2X509IssuerSerialType(bitstream_t* stream, struct iso2X509IssuerSerialType* iso2X509IssuerSerialType); static int decode_iso2ChargingStatusReqType(bitstream_t* stream, struct iso2ChargingStatusReqType* iso2ChargingStatusReqType); static int decode_iso2CertificateInstallationResType(bitstream_t* stream, struct iso2CertificateInstallationResType* iso2CertificateInstallationResType); static int decode_iso2SensorPackageType(bitstream_t* stream, struct iso2SensorPackageType* iso2SensorPackageType); static int decode_iso2PGPDataType(bitstream_t* stream, struct iso2PGPDataType* iso2PGPDataType); static int decode_iso2ServiceDiscoveryResType(bitstream_t* stream, struct iso2ServiceDiscoveryResType* iso2ServiceDiscoveryResType); static int decode_iso2ServiceIDListType(bitstream_t* stream, struct iso2ServiceIDListType* iso2ServiceIDListType); static int decode_iso2EVFinePositioningSetupParametersType(bitstream_t* stream, struct iso2EVFinePositioningSetupParametersType* iso2EVFinePositioningSetupParametersType); static int decode_iso2ChargeParameterDiscoveryResType(bitstream_t* stream, struct iso2ChargeParameterDiscoveryResType* iso2ChargeParameterDiscoveryResType); static int decode_iso2PowerDemandResType(bitstream_t* stream, struct iso2PowerDemandResType* iso2PowerDemandResType); static int decode_iso2ChargingProfileType(bitstream_t* stream, struct iso2ChargingProfileType* iso2ChargingProfileType); static int decode_iso2FinePositioningReqType(bitstream_t* stream, struct iso2FinePositioningReqType* iso2FinePositioningReqType); static int decode_iso2SalesTariffType(bitstream_t* stream, struct iso2SalesTariffType* iso2SalesTariffType); static int decode_iso2SensorType(bitstream_t* stream, struct iso2SensorType* iso2SensorType); static int decode_iso2SignatureValueType(bitstream_t* stream, struct iso2SignatureValueType* iso2SignatureValueType); static int decode_iso2SignedInfoType(bitstream_t* stream, struct iso2SignedInfoType* iso2SignedInfoType); static int decode_iso2PowerDeliveryResType(bitstream_t* stream, struct iso2PowerDeliveryResType* iso2PowerDeliveryResType); static int decode_iso2CableCheckReqType(bitstream_t* stream, struct iso2CableCheckReqType* iso2CableCheckReqType); static int decode_iso2SelectedServiceType(bitstream_t* stream, struct iso2SelectedServiceType* iso2SelectedServiceType); static int decode_iso2DiffieHellmanPublickeyType(bitstream_t* stream, struct iso2DiffieHellmanPublickeyType* iso2DiffieHellmanPublickeyType); static int decode_iso2EVSEStatusType(bitstream_t* stream, struct iso2EVSEStatusType* iso2EVSEStatusType); /* Deviant data decoding (skip functions) */ /* Complex type name='http://www.w3.org/2000/09/xmldsig#,RetrievalMethodType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":Transforms{0-1})', derivedBy='RESTRICTION'. */ static int decode_iso2RetrievalMethodType(bitstream_t* stream, struct iso2RetrievalMethodType* iso2RetrievalMethodType) { int grammarID = 0; int done = 0; init_iso2RetrievalMethodType(iso2RetrievalMethodType); while(!done) { switch(grammarID) { case 0: /* FirstStartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2RetrievalMethodType->Type.charactersLen); if (errn == 0) { if (iso2RetrievalMethodType->Type.charactersLen >= 2) { iso2RetrievalMethodType->Type.charactersLen = (uint16_t)(iso2RetrievalMethodType->Type.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2RetrievalMethodType->Type.charactersLen, iso2RetrievalMethodType->Type.characters, iso2RetrievalMethodType_Type_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2RetrievalMethodType->Type_isUsed = 1u; grammarID = 1; break; case 1: errn = decodeUnsignedInteger16(stream, &iso2RetrievalMethodType->URI.charactersLen); if (errn == 0) { if (iso2RetrievalMethodType->URI.charactersLen >= 2) { iso2RetrievalMethodType->URI.charactersLen = (uint16_t)(iso2RetrievalMethodType->URI.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2RetrievalMethodType->URI.charactersLen, iso2RetrievalMethodType->URI.characters, iso2RetrievalMethodType_URI_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2RetrievalMethodType->URI_isUsed = 1u; grammarID = 2; break; case 2: errn = decode_iso2TransformsType(stream, &iso2RetrievalMethodType->Transforms); iso2RetrievalMethodType->Transforms_isUsed = 1u; grammarID = 3; break; case 3: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1: /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2RetrievalMethodType->URI.charactersLen); if (errn == 0) { if (iso2RetrievalMethodType->URI.charactersLen >= 2) { iso2RetrievalMethodType->URI.charactersLen = (uint16_t)(iso2RetrievalMethodType->URI.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2RetrievalMethodType->URI.charactersLen, iso2RetrievalMethodType->URI.characters, iso2RetrievalMethodType_URI_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2RetrievalMethodType->URI_isUsed = 1u; grammarID = 2; break; case 1: errn = decode_iso2TransformsType(stream, &iso2RetrievalMethodType->Transforms); iso2RetrievalMethodType->Transforms_isUsed = 1u; grammarID = 3; break; case 2: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2TransformsType(stream, &iso2RetrievalMethodType->Transforms); iso2RetrievalMethodType->Transforms_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,AuthorizationResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing))', derivedBy='EXTENSION'. */ static int decode_iso2AuthorizationResType(bitstream_t* stream, struct iso2AuthorizationResType* iso2AuthorizationResType) { int grammarID = 5; int done = 0; init_iso2AuthorizationResType(iso2AuthorizationResType); while(!done) { switch(grammarID) { case 5: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2AuthorizationResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 6; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 6: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2AuthorizationResType->EVSEStatus); iso2AuthorizationResType->EVSEStatus_isUsed = 1u; grammarID = 7; break; case 1: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2AuthorizationResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 7: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2AuthorizationResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MV_EVSEFinePositioningSetupParametersType', base type name='EVSEFinePositioningSetupParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":FrequencyChannel{0-1},"urn:iso:15118:2:2016:MsgDataTypes":MagneticVectorSetupList{0-1})', derivedBy='EXTENSION'. */ static int decode_iso2MV_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2MV_EVSEFinePositioningSetupParametersType* iso2MV_EVSEFinePositioningSetupParametersType) { int grammarID = 8; int done = 0; init_iso2MV_EVSEFinePositioningSetupParametersType(iso2MV_EVSEFinePositioningSetupParametersType); while(!done) { switch(grammarID) { case 8: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetupList), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger32(stream, &iso2MV_EVSEFinePositioningSetupParametersType->FrequencyChannel); iso2MV_EVSEFinePositioningSetupParametersType->FrequencyChannel_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 9; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: errn = decode_iso2MagneticVectorSetupListType(stream, &iso2MV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList); iso2MV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList_isUsed = 1u; grammarID = 3; break; case 2: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 9: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetupList), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2MagneticVectorSetupListType(stream, &iso2MV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList); iso2MV_EVSEFinePositioningSetupParametersType->MagneticVectorSetupList_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='http://www.w3.org/2000/09/xmldsig#,X509DataType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("http://www.w3.org/2000/09/xmldsig#":X509IssuerSerial|"http://www.w3.org/2000/09/xmldsig#":X509SKI|"http://www.w3.org/2000/09/xmldsig#":X509SubjectName|"http://www.w3.org/2000/09/xmldsig#":X509Certificate|"http://www.w3.org/2000/09/xmldsig#":X509CRL|(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]))){1-UNBOUNDED}', derivedBy='RESTRICTION'. */ static int decode_iso2X509DataType(bitstream_t* stream, struct iso2X509DataType* iso2X509DataType) { int grammarID = 10; int done = 0; init_iso2X509DataType(iso2X509DataType); while(!done) { switch(grammarID) { case 10: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL), START_ELEMENT_GENERIC] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2X509DataType->X509IssuerSerial.arrayLen < iso2X509DataType_X509IssuerSerial_ARRAY_SIZE) { errn = decode_iso2X509IssuerSerialType(stream, &iso2X509DataType->X509IssuerSerial.array[iso2X509DataType->X509IssuerSerial.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 11; break; case 1: if (iso2X509DataType->X509SKI.arrayLen < iso2X509DataType_X509SKI_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2X509DataType->X509SKI.array[iso2X509DataType->X509SKI.arrayLen].bytesLen); if (errn == 0) { errn = (iso2X509DataType->X509SKI.array[iso2X509DataType->X509SKI.arrayLen].bytesLen) <= iso2X509DataType_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2X509DataType->X509SKI.array[iso2X509DataType->X509SKI.arrayLen].bytesLen, iso2X509DataType->X509SKI.array[iso2X509DataType->X509SKI.arrayLen].bytes); } iso2X509DataType->X509SKI.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 11; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: if (iso2X509DataType->X509SubjectName.arrayLen < iso2X509DataType_X509SubjectName_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen); if (errn == 0) { if (iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen >= 2) { iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen = (uint16_t)(iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen, iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].characters, iso2X509DataType_X509SubjectName_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2X509DataType->X509SubjectName.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 11; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: if (iso2X509DataType->X509Certificate.arrayLen < iso2X509DataType_X509Certificate_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2X509DataType->X509Certificate.array[iso2X509DataType->X509Certificate.arrayLen].bytesLen); if (errn == 0) { errn = (iso2X509DataType->X509Certificate.array[iso2X509DataType->X509Certificate.arrayLen].bytesLen) <= iso2X509DataType_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2X509DataType->X509Certificate.array[iso2X509DataType->X509Certificate.arrayLen].bytesLen, iso2X509DataType->X509Certificate.array[iso2X509DataType->X509Certificate.arrayLen].bytes); } iso2X509DataType->X509Certificate.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 11; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 4: if (iso2X509DataType->X509CRL.arrayLen < iso2X509DataType_X509CRL_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2X509DataType->X509CRL.array[iso2X509DataType->X509CRL.arrayLen].bytesLen); if (errn == 0) { errn = (iso2X509DataType->X509CRL.array[iso2X509DataType->X509CRL.arrayLen].bytesLen) <= iso2X509DataType_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2X509DataType->X509CRL.array[iso2X509DataType->X509CRL.arrayLen].bytesLen, iso2X509DataType->X509CRL.array[iso2X509DataType->X509CRL.arrayLen].bytes); } iso2X509DataType->X509CRL.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 11; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 5: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 11; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 11: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL), START_ELEMENT_GENERIC, END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2X509DataType->X509IssuerSerial.arrayLen < iso2X509DataType_X509IssuerSerial_ARRAY_SIZE) { errn = decode_iso2X509IssuerSerialType(stream, &iso2X509DataType->X509IssuerSerial.array[iso2X509DataType->X509IssuerSerial.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 11; break; case 1: if (iso2X509DataType->X509SKI.arrayLen < iso2X509DataType_X509SKI_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2X509DataType->X509SKI.array[iso2X509DataType->X509SKI.arrayLen].bytesLen); if (errn == 0) { errn = (iso2X509DataType->X509SKI.array[iso2X509DataType->X509SKI.arrayLen].bytesLen) <= iso2X509DataType_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2X509DataType->X509SKI.array[iso2X509DataType->X509SKI.arrayLen].bytesLen, iso2X509DataType->X509SKI.array[iso2X509DataType->X509SKI.arrayLen].bytes); } iso2X509DataType->X509SKI.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 11; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: if (iso2X509DataType->X509SubjectName.arrayLen < iso2X509DataType_X509SubjectName_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen); if (errn == 0) { if (iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen >= 2) { iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen = (uint16_t)(iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].charactersLen, iso2X509DataType->X509SubjectName.array[iso2X509DataType->X509SubjectName.arrayLen].characters, iso2X509DataType_X509SubjectName_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2X509DataType->X509SubjectName.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 11; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: if (iso2X509DataType->X509Certificate.arrayLen < iso2X509DataType_X509Certificate_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2X509DataType->X509Certificate.array[iso2X509DataType->X509Certificate.arrayLen].bytesLen); if (errn == 0) { errn = (iso2X509DataType->X509Certificate.array[iso2X509DataType->X509Certificate.arrayLen].bytesLen) <= iso2X509DataType_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2X509DataType->X509Certificate.array[iso2X509DataType->X509Certificate.arrayLen].bytesLen, iso2X509DataType->X509Certificate.array[iso2X509DataType->X509Certificate.arrayLen].bytes); } iso2X509DataType->X509Certificate.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 11; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 4: if (iso2X509DataType->X509CRL.arrayLen < iso2X509DataType_X509CRL_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2X509DataType->X509CRL.array[iso2X509DataType->X509CRL.arrayLen].bytesLen); if (errn == 0) { errn = (iso2X509DataType->X509CRL.array[iso2X509DataType->X509CRL.arrayLen].bytesLen) <= iso2X509DataType_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2X509DataType->X509CRL.array[iso2X509DataType->X509CRL.arrayLen].bytesLen, iso2X509DataType->X509CRL.array[iso2X509DataType->X509CRL.arrayLen].bytes); } iso2X509DataType->X509CRL.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 11; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 5: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 11; break; case 6: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='http://www.w3.org/2000/09/xmldsig#,RSAKeyValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":Modulus,"http://www.w3.org/2000/09/xmldsig#":Exponent)', derivedBy='RESTRICTION'. */ static int decode_iso2RSAKeyValueType(bitstream_t* stream, struct iso2RSAKeyValueType* iso2RSAKeyValueType) { int grammarID = 12; int done = 0; init_iso2RSAKeyValueType(iso2RSAKeyValueType); while(!done) { switch(grammarID) { case 12: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2RSAKeyValueType->Modulus.bytesLen); if (errn == 0) { errn = (iso2RSAKeyValueType->Modulus.bytesLen) <= iso2RSAKeyValueType_Modulus_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2RSAKeyValueType->Modulus.bytesLen, iso2RSAKeyValueType->Modulus.bytes); } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 13; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 13: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2RSAKeyValueType->Exponent.bytesLen); if (errn == 0) { errn = (iso2RSAKeyValueType->Exponent.bytesLen) <= iso2RSAKeyValueType_Exponent_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2RSAKeyValueType->Exponent.bytesLen, iso2RSAKeyValueType->Exponent.bytes); } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,DC_BidirectionalControlResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEPresentCurrent,"urn:iso:15118:2:2016:MsgBody":EVSEPresentVoltage,"urn:iso:15118:2:2016:MsgBody":EVSEPowerLimitAchieved,"urn:iso:15118:2:2016:MsgBody":EVSECurrentLimitAchieved,"urn:iso:15118:2:2016:MsgBody":EVSEVoltageLimitAchieved,"urn:iso:15118:2:2016:MsgBody":EVSEMaximumChargePower{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEMaximumDischargePower{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEMaximumChargeCurrent{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEMaximumDischargeCurrent{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEMaximumVoltage{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEMinimumVoltage{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEID,"urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2016:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2016:MsgBody":ReceiptRequired{0-1}))', derivedBy='EXTENSION'. */ static int decode_iso2DC_BidirectionalControlResType(bitstream_t* stream, struct iso2DC_BidirectionalControlResType* iso2DC_BidirectionalControlResType) { int grammarID = 14; int done = 0; init_iso2DC_BidirectionalControlResType(iso2DC_BidirectionalControlResType); while(!done) { switch(grammarID) { case 14: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2DC_BidirectionalControlResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 15; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 15: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2DC_BidirectionalControlResType->EVSEStatus); iso2DC_BidirectionalControlResType->EVSEStatus_isUsed = 1u; grammarID = 16; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEPresentCurrent); grammarID = 17; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 16: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEPresentCurrent); grammarID = 17; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 17: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEPresentVoltage); grammarID = 18; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 18: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DC_BidirectionalControlResType->EVSEPowerLimitAchieved); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 19; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 19: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DC_BidirectionalControlResType->EVSECurrentLimitAchieved); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 20; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 20: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DC_BidirectionalControlResType->EVSEVoltageLimitAchieved); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 21; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 21: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumChargePower); iso2DC_BidirectionalControlResType->EVSEMaximumChargePower_isUsed = 1u; grammarID = 22; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargePower); iso2DC_BidirectionalControlResType->EVSEMaximumDischargePower_isUsed = 1u; grammarID = 23; break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent); iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed = 1u; grammarID = 24; break; case 3: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent); iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed = 1u; grammarID = 25; break; case 4: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage); iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 1u; grammarID = 26; break; case 5: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage); iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 1u; grammarID = 27; break; case 6: /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2DC_BidirectionalControlResType->EVSEID.charactersLen); if (errn == 0) { if (iso2DC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { iso2DC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.charactersLen, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 28; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 22: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargePower); iso2DC_BidirectionalControlResType->EVSEMaximumDischargePower_isUsed = 1u; grammarID = 23; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent); iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed = 1u; grammarID = 24; break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent); iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed = 1u; grammarID = 25; break; case 3: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage); iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 1u; grammarID = 26; break; case 4: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage); iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 1u; grammarID = 27; break; case 5: /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2DC_BidirectionalControlResType->EVSEID.charactersLen); if (errn == 0) { if (iso2DC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { iso2DC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.charactersLen, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 28; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 23: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent); iso2DC_BidirectionalControlResType->EVSEMaximumChargeCurrent_isUsed = 1u; grammarID = 24; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent); iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed = 1u; grammarID = 25; break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage); iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 1u; grammarID = 26; break; case 3: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage); iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 1u; grammarID = 27; break; case 4: /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2DC_BidirectionalControlResType->EVSEID.charactersLen); if (errn == 0) { if (iso2DC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { iso2DC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.charactersLen, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 28; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 24: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent); iso2DC_BidirectionalControlResType->EVSEMaximumDischargeCurrent_isUsed = 1u; grammarID = 25; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage); iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 1u; grammarID = 26; break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage); iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 1u; grammarID = 27; break; case 3: /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2DC_BidirectionalControlResType->EVSEID.charactersLen); if (errn == 0) { if (iso2DC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { iso2DC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.charactersLen, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 28; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 25: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMaximumVoltage); iso2DC_BidirectionalControlResType->EVSEMaximumVoltage_isUsed = 1u; grammarID = 26; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage); iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 1u; grammarID = 27; break; case 2: /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2DC_BidirectionalControlResType->EVSEID.charactersLen); if (errn == 0) { if (iso2DC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { iso2DC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.charactersLen, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 28; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 26: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlResType->EVSEMinimumVoltage); iso2DC_BidirectionalControlResType->EVSEMinimumVoltage_isUsed = 1u; grammarID = 27; break; case 1: /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2DC_BidirectionalControlResType->EVSEID.charactersLen); if (errn == 0) { if (iso2DC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { iso2DC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.charactersLen, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 28; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 27: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2DC_BidirectionalControlResType->EVSEID.charactersLen); if (errn == 0) { if (iso2DC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { iso2DC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(iso2DC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2DC_BidirectionalControlResType->EVSEID.charactersLen, iso2DC_BidirectionalControlResType->EVSEID.characters, iso2DC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 28; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 28: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2DC_BidirectionalControlResType->SAScheduleTupleID = (uint8_t)(uint32 + 1); iso2DC_BidirectionalControlResType->SAScheduleTupleID_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 29; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: errn = decode_iso2MeterInfoType(stream, &iso2DC_BidirectionalControlResType->MeterInfo); iso2DC_BidirectionalControlResType->MeterInfo_isUsed = 1u; grammarID = 30; break; case 2: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DC_BidirectionalControlResType->ReceiptRequired); iso2DC_BidirectionalControlResType->ReceiptRequired_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 29: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2MeterInfoType(stream, &iso2DC_BidirectionalControlResType->MeterInfo); iso2DC_BidirectionalControlResType->MeterInfo_isUsed = 1u; grammarID = 30; break; case 1: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DC_BidirectionalControlResType->ReceiptRequired); iso2DC_BidirectionalControlResType->ReceiptRequired_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 30: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DC_BidirectionalControlResType->ReceiptRequired); iso2DC_BidirectionalControlResType->ReceiptRequired_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,CostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":costKind,"urn:iso:15118:2:2016:MsgDataTypes":amount)', derivedBy='RESTRICTION'. */ static int decode_iso2CostType(bitstream_t* stream, struct iso2CostType* iso2CostType) { int grammarID = 31; int done = 0; init_iso2CostType(iso2CostType); while(!done) { switch(grammarID) { case 31: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}costKind)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2CostType->costKind = (iso2costKindType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}costKind) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 32; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 32: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}amount)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2CostType->amount); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,ChargingStatusResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEID,"urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2016:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2016:MsgBody":ReceiptRequired{0-1},"urn:iso:15118:2:2016:MsgBody":EVSETargetPower{0-1}))', derivedBy='EXTENSION'. */ static int decode_iso2ChargingStatusResType(bitstream_t* stream, struct iso2ChargingStatusResType* iso2ChargingStatusResType) { int grammarID = 33; int done = 0; init_iso2ChargingStatusResType(iso2ChargingStatusResType); while(!done) { switch(grammarID) { case 33: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2ChargingStatusResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 34; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 34: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2ChargingStatusResType->EVSEStatus); iso2ChargingStatusResType->EVSEStatus_isUsed = 1u; grammarID = 35; break; case 1: /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2ChargingStatusResType->EVSEID.charactersLen); if (errn == 0) { if (iso2ChargingStatusResType->EVSEID.charactersLen >= 2) { iso2ChargingStatusResType->EVSEID.charactersLen = (uint16_t)(iso2ChargingStatusResType->EVSEID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2ChargingStatusResType->EVSEID.charactersLen, iso2ChargingStatusResType->EVSEID.characters, iso2ChargingStatusResType_EVSEID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 36; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 35: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2ChargingStatusResType->EVSEID.charactersLen); if (errn == 0) { if (iso2ChargingStatusResType->EVSEID.charactersLen >= 2) { iso2ChargingStatusResType->EVSEID.charactersLen = (uint16_t)(iso2ChargingStatusResType->EVSEID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2ChargingStatusResType->EVSEID.charactersLen, iso2ChargingStatusResType->EVSEID.characters, iso2ChargingStatusResType_EVSEID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 36; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 36: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2ChargingStatusResType->SAScheduleTupleID = (uint8_t)(uint32 + 1); iso2ChargingStatusResType->SAScheduleTupleID_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 37; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: errn = decode_iso2MeterInfoType(stream, &iso2ChargingStatusResType->MeterInfo); iso2ChargingStatusResType->MeterInfo_isUsed = 1u; grammarID = 38; break; case 2: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2ChargingStatusResType->ReceiptRequired); iso2ChargingStatusResType->ReceiptRequired_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 39; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusResType->EVSETargetPower); iso2ChargingStatusResType->EVSETargetPower_isUsed = 1u; grammarID = 3; break; case 4: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 37: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2MeterInfoType(stream, &iso2ChargingStatusResType->MeterInfo); iso2ChargingStatusResType->MeterInfo_isUsed = 1u; grammarID = 38; break; case 1: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2ChargingStatusResType->ReceiptRequired); iso2ChargingStatusResType->ReceiptRequired_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 39; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusResType->EVSETargetPower); iso2ChargingStatusResType->EVSETargetPower_isUsed = 1u; grammarID = 3; break; case 3: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 38: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2ChargingStatusResType->ReceiptRequired); iso2ChargingStatusResType->ReceiptRequired_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 39; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusResType->EVSETargetPower); iso2ChargingStatusResType->EVSETargetPower_isUsed = 1u; grammarID = 3; break; case 2: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 39: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusResType->EVSETargetPower); iso2ChargingStatusResType->EVSETargetPower_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MeterInfoType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":MeterID,"urn:iso:15118:2:2016:MsgDataTypes":MeterReadingCharged{0-1},"urn:iso:15118:2:2016:MsgDataTypes":MeterReadingDischarged{0-1},"urn:iso:15118:2:2016:MsgDataTypes":SigMeterReading{0-1},"urn:iso:15118:2:2016:MsgDataTypes":MeterStatus{0-1},"urn:iso:15118:2:2016:MsgDataTypes":TMeter{0-1})', derivedBy='RESTRICTION'. */ static int decode_iso2MeterInfoType(bitstream_t* stream, struct iso2MeterInfoType* iso2MeterInfoType) { int grammarID = 40; int done = 0; init_iso2MeterInfoType(iso2MeterInfoType); while(!done) { switch(grammarID) { case 40: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeterInfoType->MeterID.charactersLen); if (errn == 0) { if (iso2MeterInfoType->MeterID.charactersLen >= 2) { iso2MeterInfoType->MeterID.charactersLen = (uint16_t)(iso2MeterInfoType->MeterID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2MeterInfoType->MeterID.charactersLen, iso2MeterInfoType->MeterID.characters, iso2MeterInfoType_MeterID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 41; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 41: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingCharged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger64(stream, &iso2MeterInfoType->MeterReadingCharged); iso2MeterInfoType->MeterReadingCharged_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingCharged) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 42; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger64(stream, &iso2MeterInfoType->MeterReadingDischarged); iso2MeterInfoType->MeterReadingDischarged_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 43; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeterInfoType->SigMeterReading.bytesLen); if (errn == 0) { errn = (iso2MeterInfoType->SigMeterReading.bytesLen) <= iso2MeterInfoType_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2MeterInfoType->SigMeterReading.bytesLen, iso2MeterInfoType->SigMeterReading.bytes); } iso2MeterInfoType->SigMeterReading_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 44; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: /* FirstStartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger16(stream, &iso2MeterInfoType->MeterStatus); iso2MeterInfoType->MeterStatus_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 45; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 4: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger64(stream, &iso2MeterInfoType->TMeter); iso2MeterInfoType->TMeter_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 5: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 42: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger64(stream, &iso2MeterInfoType->MeterReadingDischarged); iso2MeterInfoType->MeterReadingDischarged_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 43; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeterInfoType->SigMeterReading.bytesLen); if (errn == 0) { errn = (iso2MeterInfoType->SigMeterReading.bytesLen) <= iso2MeterInfoType_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2MeterInfoType->SigMeterReading.bytesLen, iso2MeterInfoType->SigMeterReading.bytes); } iso2MeterInfoType->SigMeterReading_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 44; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: /* FirstStartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger16(stream, &iso2MeterInfoType->MeterStatus); iso2MeterInfoType->MeterStatus_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 45; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger64(stream, &iso2MeterInfoType->TMeter); iso2MeterInfoType->TMeter_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 4: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 43: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeterInfoType->SigMeterReading.bytesLen); if (errn == 0) { errn = (iso2MeterInfoType->SigMeterReading.bytesLen) <= iso2MeterInfoType_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2MeterInfoType->SigMeterReading.bytesLen, iso2MeterInfoType->SigMeterReading.bytes); } iso2MeterInfoType->SigMeterReading_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 44; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: /* FirstStartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger16(stream, &iso2MeterInfoType->MeterStatus); iso2MeterInfoType->MeterStatus_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 45; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger64(stream, &iso2MeterInfoType->TMeter); iso2MeterInfoType->TMeter_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 44: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger16(stream, &iso2MeterInfoType->MeterStatus); iso2MeterInfoType->MeterStatus_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 45; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger64(stream, &iso2MeterInfoType->TMeter); iso2MeterInfoType->TMeter_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 45: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger64(stream, &iso2MeterInfoType->TMeter); iso2MeterInfoType->TMeter_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,AC_EVChargeParameterType', base type name='EVEnergyTransferParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgDataTypes":DepartureTime),("urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargePower,"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVTargetEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumVoltage))', derivedBy='EXTENSION'. */ static int decode_iso2AC_EVChargeParameterType(bitstream_t* stream, struct iso2AC_EVChargeParameterType* iso2AC_EVChargeParameterType) { int grammarID = 46; int done = 0; init_iso2AC_EVChargeParameterType(iso2AC_EVChargeParameterType); while(!done) { switch(grammarID) { case 46: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger32(stream, &iso2AC_EVChargeParameterType->DepartureTime); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 47; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 47: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumChargePower); grammarID = 48; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 48: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumChargeCurrent); grammarID = 49; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 49: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMinimumChargeCurrent); grammarID = 50; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 50: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVTargetEnergyRequest); iso2AC_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 1u; grammarID = 51; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumEnergyRequest); iso2AC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 1u; grammarID = 52; break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMinimumEnergyRequest); iso2AC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 53; break; case 3: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumVoltage); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 51: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumEnergyRequest); iso2AC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 1u; grammarID = 52; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMinimumEnergyRequest); iso2AC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 53; break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumVoltage); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 52: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMinimumEnergyRequest); iso2AC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 53; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumVoltage); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 53: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVChargeParameterType->EVMaximumVoltage); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,AC_EVSEBidirectionalParameterType', base type name='AC_EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVSENominalVoltage,"urn:iso:15118:2:2016:MsgDataTypes":EVSENominalFrequency),("urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumDischargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVSENominalFrequency))', derivedBy='EXTENSION'. */ static int decode_iso2AC_EVSEBidirectionalParameterType(bitstream_t* stream, struct iso2AC_EVSEBidirectionalParameterType* iso2AC_EVSEBidirectionalParameterType) { int grammarID = 54; int done = 0; init_iso2AC_EVSEBidirectionalParameterType(iso2AC_EVSEBidirectionalParameterType); while(!done) { switch(grammarID) { case 54: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSEMaximumChargeCurrent); grammarID = 55; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 55: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSENominalVoltage); grammarID = 56; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 56: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSENominalFrequency); grammarID = 57; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 57: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSEMaximumDischargeCurrent); grammarID = 58; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 58: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVSEBidirectionalParameterType->EVSENominalFrequency); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,VehicleCheckOutResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSECheckOutStatus))', derivedBy='EXTENSION'. */ static int decode_iso2VehicleCheckOutResType(bitstream_t* stream, struct iso2VehicleCheckOutResType* iso2VehicleCheckOutResType) { int grammarID = 59; int done = 0; init_iso2VehicleCheckOutResType(iso2VehicleCheckOutResType); while(!done) { switch(grammarID) { case 59: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2VehicleCheckOutResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 60; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 60: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2VehicleCheckOutResType->EVSEStatus); iso2VehicleCheckOutResType->EVSEStatus_isUsed = 1u; grammarID = 61; break; case 1: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2VehicleCheckOutResType->EVSECheckOutStatus = (iso2EVCheckOutStatusType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 61: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2VehicleCheckOutResType->EVSECheckOutStatus = (iso2EVCheckOutStatusType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MagneticVectorListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":MagneticVector{1-255})', derivedBy='RESTRICTION'. */ static int decode_iso2MagneticVectorListType(bitstream_t* stream, struct iso2MagneticVectorListType* iso2MagneticVectorListType) { int grammarID = 62; int done = 0; init_iso2MagneticVectorListType(iso2MagneticVectorListType); while(!done) { switch(grammarID) { case 62: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 63; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 63: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 64; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 64: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 65; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 65: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 66; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 66: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 67; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 67: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 68; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 68: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 69; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 69: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 70; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 70: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 71; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 71: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 72; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 72: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 73; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 73: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 74; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 74: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 75; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 75: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 76; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 76: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 77; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 77: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 78; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 78: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 79; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 79: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 80; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 80: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 81; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 81: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 82; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 82: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 83; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 83: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 84; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 84: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 85; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 85: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 86; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 86: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 87; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 87: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 88; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 88: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 89; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 89: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 90; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 90: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 91; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 91: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 92; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 92: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 93; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 93: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 94; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 94: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 95; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 95: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 96; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 96: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 97; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 97: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 98; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 98: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 99; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 99: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 100; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 100: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 101; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 101: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 102; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 102: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 103; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 103: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 104; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 104: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 105; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 105: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 106; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 106: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 107; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 107: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 108; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 108: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 109; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 109: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 110; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 110: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 111; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 111: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 112; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 112: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 113; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 113: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 114; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 114: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 115; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 115: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 116; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 116: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 117; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 117: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 118; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 118: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 119; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 119: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 120; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 120: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 121; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 121: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 122; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 122: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 123; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 123: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 124; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 124: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 125; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 125: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 126; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 126: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 127; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 127: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 128; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 128: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 129; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 129: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 130; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 130: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 131; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 131: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 132; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 132: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 133; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 133: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 134; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 134: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 135; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 135: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 136; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 136: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 137; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 137: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 138; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 138: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 139; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 139: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 140; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 140: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 141; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 141: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 142; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 142: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 143; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 143: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 144; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 144: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 145; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 145: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 146; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 146: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 147; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 147: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 148; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 148: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 149; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 149: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 150; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 150: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 151; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 151: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 152; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 152: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 153; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 153: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 154; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 154: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 155; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 155: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 156; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 156: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 157; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 157: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 158; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 158: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 159; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 159: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 160; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 160: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 161; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 161: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 162; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 162: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 163; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 163: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 164; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 164: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 165; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 165: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 166; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 166: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 167; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 167: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 168; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 168: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 169; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 169: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 170; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 170: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 171; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 171: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 172; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 172: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 173; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 173: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 174; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 174: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 175; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 175: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 176; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 176: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 177; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 177: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 178; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 178: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 179; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 179: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 180; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 180: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 181; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 181: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 182; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 182: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 183; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 183: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 184; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 184: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 185; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 185: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 186; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 186: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 187; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 187: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 188; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 188: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 189; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 189: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 190; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 190: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 191; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 191: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 192; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 192: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 193; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 193: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 194; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 194: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 195; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 195: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 196; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 196: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 197; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 197: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 198; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 198: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 199; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 199: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 200; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 200: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 201; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 201: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 202; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 202: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 203; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 203: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 204; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 204: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 205; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 205: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 206; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 206: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 207; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 207: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 208; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 208: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 209; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 209: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 210; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 210: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 211; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 211: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 212; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 212: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 213; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 213: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 214; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 214: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 215; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 215: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 216; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 216: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 217; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 217: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 218; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 218: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 219; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 219: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 220; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 220: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 221; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 221: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 222; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 222: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 223; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 223: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 224; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 224: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 225; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 225: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 226; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 226: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 227; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 227: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 228; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 228: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 229; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 229: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 230; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 230: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 231; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 231: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 232; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 232: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 233; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 233: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 234; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 234: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 235; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 235: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 236; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 236: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 237; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 237: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 238; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 238: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 239; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 239: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 240; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 240: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 241; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 241: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 242; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 242: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 243; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 243: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 244; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 244: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 245; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 245: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 246; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 246: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 247; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 247: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 248; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 248: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 249; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 249: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 250; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 250: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 251; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 251: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 252; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 252: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 253; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 253: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 254; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 254: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 255; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 255: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 256; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 256: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 257; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 257: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 258; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 258: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 259; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 259: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 260; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 260: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 261; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 261: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 262; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 262: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 263; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 263: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 264; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 264: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 265; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 265: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 266; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 266: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 267; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 267: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 268; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 268: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 269; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 269: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 270; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 270: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 271; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 271: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 272; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 272: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 273; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 273: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 274; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 274: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 275; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 275: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 276; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 276: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 277; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 277: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 278; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 278: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 279; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 279: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 280; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 280: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 281; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 281: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 282; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 282: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 283; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 283: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 284; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 284: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 285; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 285: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 286; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 286: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 287; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 287: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 288; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 288: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 289; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 289: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 290; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 290: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 291; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 291: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 292; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 292: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 293; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 293: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 294; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 294: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 295; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 295: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 296; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 296: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 297; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 297: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 298; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 298: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 299; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 299: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 300; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 300: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 301; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 301: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 302; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 302: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 303; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 303: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 304; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 304: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 305; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 305: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 306; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 306: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 307; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 307: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 308; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 308: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 309; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 309: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 310; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 310: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 311; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 311: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 312; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 312: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 313; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 313: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 314; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 314: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 315; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 315: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 316; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 316: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorListType->MagneticVector.arrayLen < iso2MagneticVectorListType_MagneticVector_ARRAY_SIZE) { errn = decode_iso2MagneticVectorType(stream, &iso2MagneticVectorListType->MagneticVector.array[iso2MagneticVectorListType->MagneticVector.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,CableCheckResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing))', derivedBy='EXTENSION'. */ static int decode_iso2CableCheckResType(bitstream_t* stream, struct iso2CableCheckResType* iso2CableCheckResType) { int grammarID = 5; int done = 0; init_iso2CableCheckResType(iso2CableCheckResType); while(!done) { switch(grammarID) { case 5: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2CableCheckResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 6; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 6: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2CableCheckResType->EVSEStatus); iso2CableCheckResType->EVSEStatus_isUsed = 1u; grammarID = 7; break; case 1: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2CableCheckResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 7: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2CableCheckResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,ServiceDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":SupportedServiceIDs{0-1})', derivedBy='EXTENSION'. */ static int decode_iso2ServiceDiscoveryReqType(bitstream_t* stream, struct iso2ServiceDiscoveryReqType* iso2ServiceDiscoveryReqType) { int grammarID = 317; int done = 0; init_iso2ServiceDiscoveryReqType(iso2ServiceDiscoveryReqType); while(!done) { switch(grammarID) { case 317: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SupportedServiceIDs), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2ServiceIDListType(stream, &iso2ServiceDiscoveryReqType->SupportedServiceIDs); iso2ServiceDiscoveryReqType->SupportedServiceIDs_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":ServiceID,"urn:iso:15118:2:2016:MsgDataTypes":FreeService)', derivedBy='RESTRICTION'. */ static int decode_iso2ServiceType(bitstream_t* stream, struct iso2ServiceType* iso2ServiceType) { int grammarID = 318; int done = 0; init_iso2ServiceType(iso2ServiceType); while(!done) { switch(grammarID) { case 318: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2ServiceType->ServiceID); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 319; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 319: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FreeService)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2ServiceType->FreeService); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FreeService) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ServiceParameterListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":ParameterSet{1-255})', derivedBy='RESTRICTION'. */ static int decode_iso2ServiceParameterListType(bitstream_t* stream, struct iso2ServiceParameterListType* iso2ServiceParameterListType) { int grammarID = 320; int done = 0; init_iso2ServiceParameterListType(iso2ServiceParameterListType); while(!done) { switch(grammarID) { case 320: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 321; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 321: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 322; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 322: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 323; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 323: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 324; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 324: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 325; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 325: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 326; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 326: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 327; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 327: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 328; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 328: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 329; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 329: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 330; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 330: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 331; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 331: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 332; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 332: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 333; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 333: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 334; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 334: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 335; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 335: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 336; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 336: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 337; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 337: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 338; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 338: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 339; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 339: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 340; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 340: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 341; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 341: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 342; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 342: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 343; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 343: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 344; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 344: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 345; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 345: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 346; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 346: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 347; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 347: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 348; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 348: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 349; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 349: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 350; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 350: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 351; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 351: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 352; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 352: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 353; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 353: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 354; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 354: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 355; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 355: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 356; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 356: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 357; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 357: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 358; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 358: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 359; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 359: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 360; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 360: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 361; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 361: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 362; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 362: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 363; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 363: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 364; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 364: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 365; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 365: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 366; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 366: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 367; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 367: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 368; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 368: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 369; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 369: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 370; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 370: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 371; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 371: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 372; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 372: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 373; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 373: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 374; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 374: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 375; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 375: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 376; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 376: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 377; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 377: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 378; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 378: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 379; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 379: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 380; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 380: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 381; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 381: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 382; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 382: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 383; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 383: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 384; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 384: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 385; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 385: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 386; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 386: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 387; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 387: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 388; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 388: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 389; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 389: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 390; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 390: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 391; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 391: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 392; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 392: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 393; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 393: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 394; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 394: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 395; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 395: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 396; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 396: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 397; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 397: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 398; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 398: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 399; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 399: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 400; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 400: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 401; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 401: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 402; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 402: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 403; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 403: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 404; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 404: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 405; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 405: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 406; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 406: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 407; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 407: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 408; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 408: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 409; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 409: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 410; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 410: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 411; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 411: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 412; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 412: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 413; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 413: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 414; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 414: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 415; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 415: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 416; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 416: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 417; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 417: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 418; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 418: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 419; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 419: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 420; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 420: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 421; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 421: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 422; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 422: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 423; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 423: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 424; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 424: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 425; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 425: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 426; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 426: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 427; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 427: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 428; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 428: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 429; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 429: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 430; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 430: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 431; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 431: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 432; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 432: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 433; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 433: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 434; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 434: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 435; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 435: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 436; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 436: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 437; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 437: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 438; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 438: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 439; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 439: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 440; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 440: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 441; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 441: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 442; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 442: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 443; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 443: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 444; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 444: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 445; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 445: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 446; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 446: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 447; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 447: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 448; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 448: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 449; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 449: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 450; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 450: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 451; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 451: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 452; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 452: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 453; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 453: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 454; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 454: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 455; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 455: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 456; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 456: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 457; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 457: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 458; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 458: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 459; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 459: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 460; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 460: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 461; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 461: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 462; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 462: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 463; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 463: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 464; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 464: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 465; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 465: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 466; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 466: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 467; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 467: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 468; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 468: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 469; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 469: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 470; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 470: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 471; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 471: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 472; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 472: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 473; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 473: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 474; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 474: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 475; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 475: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 476; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 476: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 477; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 477: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 478; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 478: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 479; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 479: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 480; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 480: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 481; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 481: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 482; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 482: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 483; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 483: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 484; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 484: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 485; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 485: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 486; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 486: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 487; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 487: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 488; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 488: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 489; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 489: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 490; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 490: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 491; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 491: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 492; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 492: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 493; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 493: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 494; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 494: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 495; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 495: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 496; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 496: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 497; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 497: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 498; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 498: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 499; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 499: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 500; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 500: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 501; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 501: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 502; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 502: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 503; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 503: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 504; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 504: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 505; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 505: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 506; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 506: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 507; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 507: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 508; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 508: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 509; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 509: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 510; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 510: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 511; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 511: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 512; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 512: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 513; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 513: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 514; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 514: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 515; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 515: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 516; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 516: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 517; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 517: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 518; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 518: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 519; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 519: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 520; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 520: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 521; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 521: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 522; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 522: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 523; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 523: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 524; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 524: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 525; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 525: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 526; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 526: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 527; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 527: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 528; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 528: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 529; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 529: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 530; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 530: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 531; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 531: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 532; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 532: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 533; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 533: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 534; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 534: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 535; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 535: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 536; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 536: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 537; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 537: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 538; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 538: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 539; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 539: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 540; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 540: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 541; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 541: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 542; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 542: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 543; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 543: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 544; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 544: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 545; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 545: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 546; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 546: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 547; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 547: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 548; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 548: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 549; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 549: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 550; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 550: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 551; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 551: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 552; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 552: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 553; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 553: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 554; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 554: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 555; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 555: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 556; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 556: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 557; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 557: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 558; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 558: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 559; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 559: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 560; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 560: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 561; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 561: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 562; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 562: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 563; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 563: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 564; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 564: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 565; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 565: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 566; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 566: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 567; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 567: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 568; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 568: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 569; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 569: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 570; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 570: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 571; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 571: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 572; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 572: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 573; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 573: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 574; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 574: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceParameterListType->ParameterSet.arrayLen < iso2ServiceParameterListType_ParameterSet_ARRAY_SIZE) { errn = decode_iso2ParameterSetType(stream, &iso2ServiceParameterListType->ParameterSet.array[iso2ServiceParameterListType->ParameterSet.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,PMaxScheduleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":PMaxScheduleEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ static int decode_iso2PMaxScheduleType(bitstream_t* stream, struct iso2PMaxScheduleType* iso2PMaxScheduleType) { int grammarID = 575; int done = 0; init_iso2PMaxScheduleType(iso2PMaxScheduleType); while(!done) { switch(grammarID) { case 575: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2PMaxScheduleType->PMaxScheduleEntry.arrayLen < iso2PMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE) { errn = decode_iso2PMaxScheduleEntryType(stream, &iso2PMaxScheduleType->PMaxScheduleEntry.array[iso2PMaxScheduleType->PMaxScheduleEntry.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 576; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 576: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2PMaxScheduleType->PMaxScheduleEntry.arrayLen < iso2PMaxScheduleType_PMaxScheduleEntry_ARRAY_SIZE) { errn = decode_iso2PMaxScheduleEntryType(stream, &iso2PMaxScheduleType->PMaxScheduleEntry.array[iso2PMaxScheduleType->PMaxScheduleEntry.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 576; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignaturePropertiesType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":SignatureProperty{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ static int decode_iso2SignaturePropertiesType(bitstream_t* stream, struct iso2SignaturePropertiesType* iso2SignaturePropertiesType) { int grammarID = 577; int done = 0; init_iso2SignaturePropertiesType(iso2SignaturePropertiesType); while(!done) { switch(grammarID) { case 577: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2SignaturePropertiesType->Id.charactersLen); if (errn == 0) { if (iso2SignaturePropertiesType->Id.charactersLen >= 2) { iso2SignaturePropertiesType->Id.charactersLen = (uint16_t)(iso2SignaturePropertiesType->Id.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2SignaturePropertiesType->Id.charactersLen, iso2SignaturePropertiesType->Id.characters, iso2SignaturePropertiesType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2SignaturePropertiesType->Id_isUsed = 1u; grammarID = 578; break; case 1: if (iso2SignaturePropertiesType->SignatureProperty.arrayLen < iso2SignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { errn = decode_iso2SignaturePropertyType(stream, &iso2SignaturePropertiesType->SignatureProperty.array[iso2SignaturePropertiesType->SignatureProperty.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 579; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 578: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SignaturePropertiesType->SignatureProperty.arrayLen < iso2SignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { errn = decode_iso2SignaturePropertyType(stream, &iso2SignaturePropertiesType->SignatureProperty.array[iso2SignaturePropertiesType->SignatureProperty.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 579; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 579: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SignaturePropertiesType->SignatureProperty.arrayLen < iso2SignaturePropertiesType_SignatureProperty_ARRAY_SIZE) { errn = decode_iso2SignaturePropertyType(stream, &iso2SignaturePropertiesType->SignatureProperty.array[iso2SignaturePropertiesType->SignatureProperty.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 579; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,PMaxScheduleEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgDataTypes":RelativeTimeInterval),("urn:iso:15118:2:2016:MsgDataTypes":PMax{1-3}))', derivedBy='EXTENSION'. */ static int decode_iso2PMaxScheduleEntryType(bitstream_t* stream, struct iso2PMaxScheduleEntryType* iso2PMaxScheduleEntryType) { int grammarID = 580; int done = 0; init_iso2PMaxScheduleEntryType(iso2PMaxScheduleEntryType); while(!done) { switch(grammarID) { case 580: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2RelativeTimeIntervalType(stream, &iso2PMaxScheduleEntryType->RelativeTimeInterval); grammarID = 581; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 581: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2PMaxScheduleEntryType->PMax.arrayLen < iso2PMaxScheduleEntryType_PMax_ARRAY_SIZE) { errn = decode_iso2PhysicalValueType(stream, &iso2PMaxScheduleEntryType->PMax.array[iso2PMaxScheduleEntryType->PMax.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 582; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 582: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2PMaxScheduleEntryType->PMax.arrayLen < iso2PMaxScheduleEntryType_PMax_ARRAY_SIZE) { errn = decode_iso2PhysicalValueType(stream, &iso2PMaxScheduleEntryType->PMax.array[iso2PMaxScheduleEntryType->PMax.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 583; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 583: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2PMaxScheduleEntryType->PMax.arrayLen < iso2PMaxScheduleEntryType_PMax_ARRAY_SIZE) { errn = decode_iso2PhysicalValueType(stream, &iso2PMaxScheduleEntryType->PMax.array[iso2PMaxScheduleEntryType->PMax.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignatureType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":SignedInfo,"http://www.w3.org/2000/09/xmldsig#":SignatureValue,"http://www.w3.org/2000/09/xmldsig#":KeyInfo{0-1},"http://www.w3.org/2000/09/xmldsig#":Object{0-UNBOUNDED})', derivedBy='RESTRICTION'. */ static int decode_iso2SignatureType(bitstream_t* stream, struct iso2SignatureType* iso2SignatureType) { int grammarID = 584; int done = 0; init_iso2SignatureType(iso2SignatureType); while(!done) { switch(grammarID) { case 584: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2SignatureType->Id.charactersLen); if (errn == 0) { if (iso2SignatureType->Id.charactersLen >= 2) { iso2SignatureType->Id.charactersLen = (uint16_t)(iso2SignatureType->Id.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2SignatureType->Id.charactersLen, iso2SignatureType->Id.characters, iso2SignatureType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2SignatureType->Id_isUsed = 1u; grammarID = 585; break; case 1: errn = decode_iso2SignedInfoType(stream, &iso2SignatureType->SignedInfo); grammarID = 586; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 585: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2SignedInfoType(stream, &iso2SignatureType->SignedInfo); grammarID = 586; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 586: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2SignatureValueType(stream, &iso2SignatureType->SignatureValue); grammarID = 587; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 587: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2KeyInfoType(stream, &iso2SignatureType->KeyInfo); iso2SignatureType->KeyInfo_isUsed = 1u; grammarID = 588; break; case 1: if (iso2SignatureType->Object.arrayLen < iso2SignatureType_Object_ARRAY_SIZE) { errn = decode_iso2ObjectType(stream, &iso2SignatureType->Object.array[iso2SignatureType->Object.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 588; break; case 2: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 588: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SignatureType->Object.arrayLen < iso2SignatureType_Object_ARRAY_SIZE) { errn = decode_iso2ObjectType(stream, &iso2SignatureType->Object.array[iso2SignatureType->Object.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 588; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,VehicleCheckInReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVCheckInStatus,"urn:iso:15118:2:2016:MsgBody":ParkingMethod{0-1})', derivedBy='EXTENSION'. */ static int decode_iso2VehicleCheckInReqType(bitstream_t* stream, struct iso2VehicleCheckInReqType* iso2VehicleCheckInReqType) { int grammarID = 589; int done = 0; init_iso2VehicleCheckInReqType(iso2VehicleCheckInReqType); while(!done) { switch(grammarID) { case 589: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckInStatus)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2VehicleCheckInReqType->EVCheckInStatus = (iso2EVCheckInStatusType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckInStatus) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 590; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 590: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ParkingMethod), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2VehicleCheckInReqType->ParkingMethod = (iso2parkingMethodType) uint32; iso2VehicleCheckInReqType->ParkingMethod_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ParkingMethod) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,ConnectChargingDeviceResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing,"urn:iso:15118:2:2016:MsgBody":EVSEElectricalChargingDeviceStatus,"urn:iso:15118:2:2016:MsgBody":EVSEMechanicalChargingDeviceStatus))', derivedBy='EXTENSION'. */ static int decode_iso2ConnectChargingDeviceResType(bitstream_t* stream, struct iso2ConnectChargingDeviceResType* iso2ConnectChargingDeviceResType) { int grammarID = 591; int done = 0; init_iso2ConnectChargingDeviceResType(iso2ConnectChargingDeviceResType); while(!done) { switch(grammarID) { case 591: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2ConnectChargingDeviceResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 592; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 592: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2ConnectChargingDeviceResType->EVSEStatus); iso2ConnectChargingDeviceResType->EVSEStatus_isUsed = 1u; grammarID = 593; break; case 1: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2ConnectChargingDeviceResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 594; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 593: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2ConnectChargingDeviceResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 594; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 594: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); iso2ConnectChargingDeviceResType->EVSEElectricalChargingDeviceStatus = (iso2electricalChargingDeviceStatusType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 595; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 595: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2ConnectChargingDeviceResType->EVSEMechanicalChargingDeviceStatus = (iso2mechanicalChargingDeviceStatusType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,WeldingDetectionResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEPresentVoltage))', derivedBy='EXTENSION'. */ static int decode_iso2WeldingDetectionResType(bitstream_t* stream, struct iso2WeldingDetectionResType* iso2WeldingDetectionResType) { int grammarID = 596; int done = 0; init_iso2WeldingDetectionResType(iso2WeldingDetectionResType); while(!done) { switch(grammarID) { case 596: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2WeldingDetectionResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 597; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 597: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2WeldingDetectionResType->EVSEStatus); iso2WeldingDetectionResType->EVSEStatus_isUsed = 1u; grammarID = 598; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2WeldingDetectionResType->EVSEPresentVoltage); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 598: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2WeldingDetectionResType->EVSEPresentVoltage); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,SessionStopResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ static int decode_iso2SessionStopResType(bitstream_t* stream, struct iso2SessionStopResType* iso2SessionStopResType) { int grammarID = 599; int done = 0; init_iso2SessionStopResType(iso2SessionStopResType); while(!done) { switch(grammarID) { case 599: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2SessionStopResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 600; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 600: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2SessionStopResType->EVSEStatus); iso2SessionStopResType->EVSEStatus_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,VehicleCheckInResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":VehicleSpace,"urn:iso:15118:2:2016:MsgBody":TargetOffset{0-1}))', derivedBy='EXTENSION'. */ static int decode_iso2VehicleCheckInResType(bitstream_t* stream, struct iso2VehicleCheckInResType* iso2VehicleCheckInResType) { int grammarID = 601; int done = 0; init_iso2VehicleCheckInResType(iso2VehicleCheckInResType); while(!done) { switch(grammarID) { case 601: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2VehicleCheckInResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 602; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 602: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2VehicleCheckInResType->EVSEStatus); iso2VehicleCheckInResType->EVSEStatus_isUsed = 1u; grammarID = 603; break; case 1: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2VehicleCheckInResType->VehicleSpace); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 604; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 603: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2VehicleCheckInResType->VehicleSpace); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 604; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 604: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}TargetOffset), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2TargetPositionType(stream, &iso2VehicleCheckInResType->TargetOffset); iso2VehicleCheckInResType->TargetOffset_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ServiceListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":Service{1-8})', derivedBy='RESTRICTION'. */ static int decode_iso2ServiceListType(bitstream_t* stream, struct iso2ServiceListType* iso2ServiceListType) { int grammarID = 605; int done = 0; init_iso2ServiceListType(iso2ServiceListType); while(!done) { switch(grammarID) { case 605: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceListType->Service.arrayLen < iso2ServiceListType_Service_ARRAY_SIZE) { errn = decode_iso2ServiceType(stream, &iso2ServiceListType->Service.array[iso2ServiceListType->Service.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 606; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 606: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceListType->Service.arrayLen < iso2ServiceListType_Service_ARRAY_SIZE) { errn = decode_iso2ServiceType(stream, &iso2ServiceListType->Service.array[iso2ServiceListType->Service.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 607; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 607: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceListType->Service.arrayLen < iso2ServiceListType_Service_ARRAY_SIZE) { errn = decode_iso2ServiceType(stream, &iso2ServiceListType->Service.array[iso2ServiceListType->Service.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 608; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 608: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceListType->Service.arrayLen < iso2ServiceListType_Service_ARRAY_SIZE) { errn = decode_iso2ServiceType(stream, &iso2ServiceListType->Service.array[iso2ServiceListType->Service.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 609; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 609: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceListType->Service.arrayLen < iso2ServiceListType_Service_ARRAY_SIZE) { errn = decode_iso2ServiceType(stream, &iso2ServiceListType->Service.array[iso2ServiceListType->Service.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 610; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 610: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceListType->Service.arrayLen < iso2ServiceListType_Service_ARRAY_SIZE) { errn = decode_iso2ServiceType(stream, &iso2ServiceListType->Service.array[iso2ServiceListType->Service.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 611; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 611: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceListType->Service.arrayLen < iso2ServiceListType_Service_ARRAY_SIZE) { errn = decode_iso2ServiceType(stream, &iso2ServiceListType->Service.array[iso2ServiceListType->Service.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 612; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 612: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceListType->Service.arrayLen < iso2ServiceListType_Service_ARRAY_SIZE) { errn = decode_iso2ServiceType(stream, &iso2ServiceListType->Service.array[iso2ServiceListType->Service.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,CertificateUpdateResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":SAProvisioningCertificateChain,"urn:iso:15118:2:2016:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2016:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2016:MsgBody":DHpublickey,"urn:iso:15118:2:2016:MsgBody":eMAID,"urn:iso:15118:2:2016:MsgBody":RetryCounter{0-1}))', derivedBy='EXTENSION'. */ static int decode_iso2CertificateUpdateResType(bitstream_t* stream, struct iso2CertificateUpdateResType* iso2CertificateUpdateResType) { int grammarID = 613; int done = 0; init_iso2CertificateUpdateResType(iso2CertificateUpdateResType); while(!done) { switch(grammarID) { case 613: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2CertificateUpdateResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 614; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 614: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2CertificateUpdateResType->EVSEStatus); iso2CertificateUpdateResType->EVSEStatus_isUsed = 1u; grammarID = 615; break; case 1: errn = decode_iso2CertificateChainType(stream, &iso2CertificateUpdateResType->SAProvisioningCertificateChain); grammarID = 616; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 615: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2CertificateChainType(stream, &iso2CertificateUpdateResType->SAProvisioningCertificateChain); grammarID = 616; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 616: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2CertificateChainType(stream, &iso2CertificateUpdateResType->ContractSignatureCertChain); grammarID = 617; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 617: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2ContractSignatureEncryptedPrivateKeyType(stream, &iso2CertificateUpdateResType->ContractSignatureEncryptedPrivateKey); grammarID = 618; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 618: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2DiffieHellmanPublickeyType(stream, &iso2CertificateUpdateResType->DHpublickey); grammarID = 619; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 619: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EMAIDType(stream, &iso2CertificateUpdateResType->eMAID); grammarID = 620; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 620: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}RetryCounter), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger16(stream, &iso2CertificateUpdateResType->RetryCounter); iso2CertificateUpdateResType->RetryCounter_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}RetryCounter) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,FinePositioningSetupResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgDataTypes":EVSEFinePositioningSetupParameters{0-1}))', derivedBy='EXTENSION'. */ static int decode_iso2FinePositioningSetupResType(bitstream_t* stream, struct iso2FinePositioningSetupResType* iso2FinePositioningSetupResType) { int grammarID = 621; int done = 0; init_iso2FinePositioningSetupResType(iso2FinePositioningSetupResType); while(!done) { switch(grammarID) { case 621: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2FinePositioningSetupResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 622; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 622: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2FinePositioningSetupResType->EVSEStatus); iso2FinePositioningSetupResType->EVSEStatus_isUsed = 1u; grammarID = 623; break; case 1: errn = decode_iso2EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->EVSEFinePositioningSetupParameters); iso2FinePositioningSetupResType->EVSEFinePositioningSetupParameters_isUsed = 1u; grammarID = 3; break; case 2: errn = decode_iso2LFA_EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters); iso2FinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters_isUsed = 1u; grammarID = 3; break; case 3: errn = decode_iso2MV_EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters); iso2FinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters_isUsed = 1u; grammarID = 3; break; case 4: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 623: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->EVSEFinePositioningSetupParameters); iso2FinePositioningSetupResType->EVSEFinePositioningSetupParameters_isUsed = 1u; grammarID = 3; break; case 1: errn = decode_iso2LFA_EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters); iso2FinePositioningSetupResType->LFA_EVSEFinePositioningSetupParameters_isUsed = 1u; grammarID = 3; break; case 2: errn = decode_iso2MV_EVSEFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters); iso2FinePositioningSetupResType->MV_EVSEFinePositioningSetupParameters_isUsed = 1u; grammarID = 3; break; case 3: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,AC_EVBidirectionalParameterType', base type name='AC_EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((("urn:iso:15118:2:2016:MsgDataTypes":DepartureTime),("urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargePower,"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVTargetEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumVoltage)),("urn:iso:15118:2:2016:MsgDataTypes":EVMaximumDischargePower,"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumDischargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumDischargeCurrent))', derivedBy='EXTENSION'. */ static int decode_iso2AC_EVBidirectionalParameterType(bitstream_t* stream, struct iso2AC_EVBidirectionalParameterType* iso2AC_EVBidirectionalParameterType) { int grammarID = 624; int done = 0; init_iso2AC_EVBidirectionalParameterType(iso2AC_EVBidirectionalParameterType); while(!done) { switch(grammarID) { case 624: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger32(stream, &iso2AC_EVBidirectionalParameterType->DepartureTime); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 625; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 625: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumChargePower); grammarID = 626; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 626: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumChargeCurrent); grammarID = 627; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 627: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumChargeCurrent); grammarID = 628; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 628: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVTargetEnergyRequest); iso2AC_EVBidirectionalParameterType->EVTargetEnergyRequest_isUsed = 1u; grammarID = 629; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumEnergyRequest); iso2AC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 1u; grammarID = 630; break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest); iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 631; break; case 3: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumVoltage); grammarID = 632; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 629: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumEnergyRequest); iso2AC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 1u; grammarID = 630; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest); iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 631; break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumVoltage); grammarID = 632; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 630: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest); iso2AC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 631; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumVoltage); grammarID = 632; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 631: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumVoltage); grammarID = 632; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 632: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumDischargePower); grammarID = 633; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 633: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); grammarID = 634; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 634: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVBidirectionalParameterType->EVMinimumDischargeCurrent); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,DC_BidirectionalControlReqType', base type name='ChargeLoopReqType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":EVTargetEnergyRequest,"urn:iso:15118:2:2016:MsgBody":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":DisplayParameters{0-1}),("urn:iso:15118:2:2016:MsgBody":EVTargetCurrent,"urn:iso:15118:2:2016:MsgBody":EVTargetVoltage,"urn:iso:15118:2:2016:MsgBody":EVMaximumVoltage,"urn:iso:15118:2:2016:MsgBody":EVMinimumVoltage,"urn:iso:15118:2:2016:MsgBody":EVMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgBody":EVMaximumDischargeCurrent{0-1},"urn:iso:15118:2:2016:MsgBody":EVMaximumChargePower{0-1},"urn:iso:15118:2:2016:MsgBody":EVMaximumDischargePower{0-1}))', derivedBy='EXTENSION'. */ static int decode_iso2DC_BidirectionalControlReqType(bitstream_t* stream, struct iso2DC_BidirectionalControlReqType* iso2DC_BidirectionalControlReqType) { int grammarID = 635; int done = 0; init_iso2DC_BidirectionalControlReqType(iso2DC_BidirectionalControlReqType); while(!done) { switch(grammarID) { case 635: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetEnergyRequest); grammarID = 636; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 636: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumEnergyRequest); iso2DC_BidirectionalControlReqType->EVMaximumEnergyRequest_isUsed = 1u; grammarID = 637; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMinimumEnergyRequest); iso2DC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 638; break; case 2: errn = decode_iso2DisplayParametersType(stream, &iso2DC_BidirectionalControlReqType->DisplayParameters); iso2DC_BidirectionalControlReqType->DisplayParameters_isUsed = 1u; grammarID = 639; break; case 3: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetCurrent); grammarID = 640; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 637: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMinimumEnergyRequest); iso2DC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 638; break; case 1: errn = decode_iso2DisplayParametersType(stream, &iso2DC_BidirectionalControlReqType->DisplayParameters); iso2DC_BidirectionalControlReqType->DisplayParameters_isUsed = 1u; grammarID = 639; break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetCurrent); grammarID = 640; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 638: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2DisplayParametersType(stream, &iso2DC_BidirectionalControlReqType->DisplayParameters); iso2DC_BidirectionalControlReqType->DisplayParameters_isUsed = 1u; grammarID = 639; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetCurrent); grammarID = 640; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 639: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetCurrent); grammarID = 640; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 640: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVTargetVoltage); grammarID = 641; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 641: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumVoltage); grammarID = 642; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 642: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMinimumVoltage); grammarID = 643; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 643: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumChargeCurrent); grammarID = 644; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 644: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumDischargeCurrent); iso2DC_BidirectionalControlReqType->EVMaximumDischargeCurrent_isUsed = 1u; grammarID = 645; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumChargePower); iso2DC_BidirectionalControlReqType->EVMaximumChargePower_isUsed = 1u; grammarID = 646; break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumDischargePower); iso2DC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 1u; grammarID = 3; break; case 3: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 645: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumChargePower); iso2DC_BidirectionalControlReqType->EVMaximumChargePower_isUsed = 1u; grammarID = 646; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumDischargePower); iso2DC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 1u; grammarID = 3; break; case 2: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 646: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_BidirectionalControlReqType->EVMaximumDischargePower); iso2DC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,CertificateUpdateReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2016:MsgBody":eMAID,"urn:iso:15118:2:2016:MsgBody":ListOfRootCertificateIDs)', derivedBy='EXTENSION'. */ static int decode_iso2CertificateUpdateReqType(bitstream_t* stream, struct iso2CertificateUpdateReqType* iso2CertificateUpdateReqType) { int grammarID = 647; int done = 0; init_iso2CertificateUpdateReqType(iso2CertificateUpdateReqType); while(!done) { switch(grammarID) { case 647: /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgBody}Id)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2CertificateUpdateReqType->Id.charactersLen); if (errn == 0) { if (iso2CertificateUpdateReqType->Id.charactersLen >= 2) { iso2CertificateUpdateReqType->Id.charactersLen = (uint16_t)(iso2CertificateUpdateReqType->Id.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2CertificateUpdateReqType->Id.charactersLen, iso2CertificateUpdateReqType->Id.characters, iso2CertificateUpdateReqType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } grammarID = 648; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 648: /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2CertificateChainType(stream, &iso2CertificateUpdateReqType->ContractSignatureCertChain); grammarID = 649; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 649: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2CertificateUpdateReqType->eMAID.charactersLen); if (errn == 0) { if (iso2CertificateUpdateReqType->eMAID.charactersLen >= 2) { iso2CertificateUpdateReqType->eMAID.charactersLen = (uint16_t)(iso2CertificateUpdateReqType->eMAID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2CertificateUpdateReqType->eMAID.charactersLen, iso2CertificateUpdateReqType->eMAID.characters, iso2CertificateUpdateReqType_eMAID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 650; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 650: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ListOfRootCertificateIDs)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2ListOfRootCertificateIDsType(stream, &iso2CertificateUpdateReqType->ListOfRootCertificateIDs); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ConsumptionCostType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":startValue,"urn:iso:15118:2:2016:MsgDataTypes":Cost{1-3})', derivedBy='RESTRICTION'. */ static int decode_iso2ConsumptionCostType(bitstream_t* stream, struct iso2ConsumptionCostType* iso2ConsumptionCostType) { int grammarID = 651; int done = 0; init_iso2ConsumptionCostType(iso2ConsumptionCostType); while(!done) { switch(grammarID) { case 651: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}startValue)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2ConsumptionCostType->startValue); grammarID = 652; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 652: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ConsumptionCostType->Cost.arrayLen < iso2ConsumptionCostType_Cost_ARRAY_SIZE) { errn = decode_iso2CostType(stream, &iso2ConsumptionCostType->Cost.array[iso2ConsumptionCostType->Cost.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 653; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 653: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ConsumptionCostType->Cost.arrayLen < iso2ConsumptionCostType_Cost_ARRAY_SIZE) { errn = decode_iso2CostType(stream, &iso2ConsumptionCostType->Cost.array[iso2ConsumptionCostType->Cost.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 654; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 654: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ConsumptionCostType->Cost.arrayLen < iso2ConsumptionCostType_Cost_ARRAY_SIZE) { errn = decode_iso2CostType(stream, &iso2ConsumptionCostType->Cost.array[iso2ConsumptionCostType->Cost.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SAScheduleListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SAScheduleTuple{1-3})', derivedBy='RESTRICTION'. */ static int decode_iso2SAScheduleListType(bitstream_t* stream, struct iso2SAScheduleListType* iso2SAScheduleListType) { int grammarID = 655; int done = 0; init_iso2SAScheduleListType(iso2SAScheduleListType); while(!done) { switch(grammarID) { case 655: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SAScheduleListType->SAScheduleTuple.arrayLen < iso2SAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { errn = decode_iso2SAScheduleTupleType(stream, &iso2SAScheduleListType->SAScheduleTuple.array[iso2SAScheduleListType->SAScheduleTuple.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 656; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 656: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SAScheduleListType->SAScheduleTuple.arrayLen < iso2SAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { errn = decode_iso2SAScheduleTupleType(stream, &iso2SAScheduleListType->SAScheduleTuple.array[iso2SAScheduleListType->SAScheduleTuple.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 657; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 657: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SAScheduleListType->SAScheduleTuple.arrayLen < iso2SAScheduleListType_SAScheduleTuple_ARRAY_SIZE) { errn = decode_iso2SAScheduleTupleType(stream, &iso2SAScheduleListType->SAScheduleTuple.array[iso2SAScheduleListType->SAScheduleTuple.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MagneticVectorSetupType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":GAID,"urn:iso:15118:2:2016:MsgDataTypes":FrequencyChannel)', derivedBy='RESTRICTION'. */ static int decode_iso2MagneticVectorSetupType(bitstream_t* stream, struct iso2MagneticVectorSetupType* iso2MagneticVectorSetupType) { int grammarID = 658; int done = 0; init_iso2MagneticVectorSetupType(iso2MagneticVectorSetupType); while(!done) { switch(grammarID) { case 658: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MagneticVectorSetupType->GAID.charactersLen); if (errn == 0) { if (iso2MagneticVectorSetupType->GAID.charactersLen >= 2) { iso2MagneticVectorSetupType->GAID.charactersLen = (uint16_t)(iso2MagneticVectorSetupType->GAID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2MagneticVectorSetupType->GAID.charactersLen, iso2MagneticVectorSetupType->GAID.characters, iso2MagneticVectorSetupType_GAID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 659; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 659: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger32(stream, &iso2MagneticVectorSetupType->FrequencyChannel); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,LFA_EVSEFinePositioningSetupParametersType', base type name='EVSEFinePositioningSetupParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":NumberOfSensors,"urn:iso:15118:2:2016:MsgDataTypes":SensorList,"urn:iso:15118:2:2016:MsgDataTypes":SensorOrder,"urn:iso:15118:2:2016:MsgDataTypes":SignalPulseDuration,"urn:iso:15118:2:2016:MsgDataTypes":SignalSeparationTime,"urn:iso:15118:2:2016:MsgDataTypes":PackageSeparationTime,"urn:iso:15118:2:2016:MsgDataTypes":AlignmentOffset,"urn:iso:15118:2:2016:MsgDataTypes":SignalFrequency)', derivedBy='EXTENSION'. */ static int decode_iso2LFA_EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2LFA_EVSEFinePositioningSetupParametersType* iso2LFA_EVSEFinePositioningSetupParametersType) { int grammarID = 660; int done = 0; init_iso2LFA_EVSEFinePositioningSetupParametersType(iso2LFA_EVSEFinePositioningSetupParametersType); while(!done) { switch(grammarID) { case 660: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2LFA_EVSEFinePositioningSetupParametersType->NumberOfSensors = (uint8_t)(uint32 + 0); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 661; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 661: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2SensorListType(stream, &iso2LFA_EVSEFinePositioningSetupParametersType->SensorList); grammarID = 662; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 662: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2SensorOrderListType(stream, &iso2LFA_EVSEFinePositioningSetupParametersType->SensorOrder); grammarID = 663; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 663: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2LFA_EVSEFinePositioningSetupParametersType->SignalPulseDuration = (uint8_t)(uint32 + 0); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 664; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 664: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2LFA_EVSEFinePositioningSetupParametersType->SignalSeparationTime = (uint8_t)(uint32 + 0); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 665; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 665: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageSeparationTime)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2LFA_EVSEFinePositioningSetupParametersType->PackageSeparationTime = (uint8_t)(uint32 + 0); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageSeparationTime) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 666; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 666: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2LFA_EVSEFinePositioningSetupParametersType->AlignmentOffset); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 667; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 667: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalFrequency)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2LFA_EVSEFinePositioningSetupParametersType->SignalFrequency); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalFrequency) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,PaymentOptionListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":PaymentOption{1-2})', derivedBy='RESTRICTION'. */ static int decode_iso2PaymentOptionListType(bitstream_t* stream, struct iso2PaymentOptionListType* iso2PaymentOptionListType) { int grammarID = 668; int done = 0; init_iso2PaymentOptionListType(iso2PaymentOptionListType); while(!done) { switch(grammarID) { case 668: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2PaymentOptionListType->PaymentOption.arrayLen < iso2PaymentOptionListType_PaymentOption_ARRAY_SIZE) { /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); iso2PaymentOptionListType->PaymentOption.array[iso2PaymentOptionListType->PaymentOption.arrayLen] = (iso2paymentOptionType) uint32; iso2PaymentOptionListType->PaymentOption.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 669; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 669: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2PaymentOptionListType->PaymentOption.arrayLen < iso2PaymentOptionListType_PaymentOption_ARRAY_SIZE) { /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); iso2PaymentOptionListType->PaymentOption.array[iso2PaymentOptionListType->PaymentOption.arrayLen] = (iso2paymentOptionType) uint32; iso2PaymentOptionListType->PaymentOption.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,LFA_EVSEFinePositioningParametersType', base type name='EVSEFinePositioningParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":NumberOfSignalPackages,"urn:iso:15118:2:2016:MsgDataTypes":SensorPackageList)', derivedBy='EXTENSION'. */ static int decode_iso2LFA_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2LFA_EVSEFinePositioningParametersType* iso2LFA_EVSEFinePositioningParametersType) { int grammarID = 670; int done = 0; init_iso2LFA_EVSEFinePositioningParametersType(iso2LFA_EVSEFinePositioningParametersType); while(!done) { switch(grammarID) { case 670: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2LFA_EVSEFinePositioningParametersType->NumberOfSignalPackages = (uint8_t)(uint32 + 0); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 671; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 671: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2SensorPackageListType(stream, &iso2LFA_EVSEFinePositioningParametersType->SensorPackageList); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,RelativeTimeIntervalType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":start,"urn:iso:15118:2:2016:MsgDataTypes":duration{0-1})', derivedBy='RESTRICTION'. */ static int decode_iso2RelativeTimeIntervalType(bitstream_t* stream, struct iso2RelativeTimeIntervalType* iso2RelativeTimeIntervalType) { int grammarID = 672; int done = 0; init_iso2RelativeTimeIntervalType(iso2RelativeTimeIntervalType); while(!done) { switch(grammarID) { case 672: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}start)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger32(stream, &iso2RelativeTimeIntervalType->start); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}start) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 673; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 673: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}duration), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger32(stream, &iso2RelativeTimeIntervalType->duration); iso2RelativeTimeIntervalType->duration_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}duration) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EVFinePositioningParametersType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ static int decode_iso2EVFinePositioningParametersType(bitstream_t* stream, struct iso2EVFinePositioningParametersType* iso2EVFinePositioningParametersType) { int grammarID = 674; int done = 0; init_iso2EVFinePositioningParametersType(iso2EVFinePositioningParametersType); while(!done) { switch(grammarID) { case 674: /* FirstStartTag[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,AlignmentCheckReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVProcessing,"urn:iso:15118:2:2016:MsgBody":AlignmentCheckParameters{0-1})', derivedBy='EXTENSION'. */ static int decode_iso2AlignmentCheckReqType(bitstream_t* stream, struct iso2AlignmentCheckReqType* iso2AlignmentCheckReqType) { int grammarID = 675; int done = 0; init_iso2AlignmentCheckReqType(iso2AlignmentCheckReqType); while(!done) { switch(grammarID) { case 675: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2AlignmentCheckReqType->EVProcessing = (iso2EVSEProcessingType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 676; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 676: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckParameters), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2ParameterSetType(stream, &iso2AlignmentCheckReqType->AlignmentCheckParameters); iso2AlignmentCheckReqType->AlignmentCheckParameters_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,CertificateInstallationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":OEMProvisioningCert,"urn:iso:15118:2:2016:MsgBody":ListOfRootCertificateIDs)', derivedBy='EXTENSION'. */ static int decode_iso2CertificateInstallationReqType(bitstream_t* stream, struct iso2CertificateInstallationReqType* iso2CertificateInstallationReqType) { int grammarID = 677; int done = 0; init_iso2CertificateInstallationReqType(iso2CertificateInstallationReqType); while(!done) { switch(grammarID) { case 677: /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgBody}Id)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2CertificateInstallationReqType->Id.charactersLen); if (errn == 0) { if (iso2CertificateInstallationReqType->Id.charactersLen >= 2) { iso2CertificateInstallationReqType->Id.charactersLen = (uint16_t)(iso2CertificateInstallationReqType->Id.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2CertificateInstallationReqType->Id.charactersLen, iso2CertificateInstallationReqType->Id.characters, iso2CertificateInstallationReqType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } grammarID = 678; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 678: /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OEMProvisioningCert)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2CertificateInstallationReqType->OEMProvisioningCert.bytesLen); if (errn == 0) { errn = (iso2CertificateInstallationReqType->OEMProvisioningCert.bytesLen) <= iso2CertificateInstallationReqType_OEMProvisioningCert_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2CertificateInstallationReqType->OEMProvisioningCert.bytesLen, iso2CertificateInstallationReqType->OEMProvisioningCert.bytes); } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OEMProvisioningCert) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 650; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 650: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ListOfRootCertificateIDs)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2ListOfRootCertificateIDsType(stream, &iso2CertificateInstallationReqType->ListOfRootCertificateIDs); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='http://www.w3.org/2000/09/xmldsig#,TransformsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":Transform{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ static int decode_iso2TransformsType(bitstream_t* stream, struct iso2TransformsType* iso2TransformsType) { int grammarID = 679; int done = 0; init_iso2TransformsType(iso2TransformsType); while(!done) { switch(grammarID) { case 679: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2TransformsType->Transform.arrayLen < iso2TransformsType_Transform_ARRAY_SIZE) { errn = decode_iso2TransformType(stream, &iso2TransformsType->Transform.array[iso2TransformsType->Transform.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 680; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 680: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2TransformsType->Transform.arrayLen < iso2TransformsType_Transform_ARRAY_SIZE) { errn = decode_iso2TransformType(stream, &iso2TransformsType->Transform.array[iso2TransformsType->Transform.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 680; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='http://www.w3.org/2000/09/xmldsig#,ObjectType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((WC[##any])){0-UNBOUNDED}', derivedBy='RESTRICTION'. */ static int decode_iso2ObjectType(bitstream_t* stream, struct iso2ObjectType* iso2ObjectType) { int grammarID = 681; int done = 0; init_iso2ObjectType(iso2ObjectType); while(!done) { switch(grammarID) { case 681: /* FirstStartTag[ATTRIBUTE[STRING](Encoding), ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2ObjectType->Encoding.charactersLen); if (errn == 0) { if (iso2ObjectType->Encoding.charactersLen >= 2) { iso2ObjectType->Encoding.charactersLen = (uint16_t)(iso2ObjectType->Encoding.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2ObjectType->Encoding.charactersLen, iso2ObjectType->Encoding.characters, iso2ObjectType_Encoding_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2ObjectType->Encoding_isUsed = 1u; grammarID = 682; break; case 1: errn = decodeUnsignedInteger16(stream, &iso2ObjectType->Id.charactersLen); if (errn == 0) { if (iso2ObjectType->Id.charactersLen >= 2) { iso2ObjectType->Id.charactersLen = (uint16_t)(iso2ObjectType->Id.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2ObjectType->Id.charactersLen, iso2ObjectType->Id.characters, iso2ObjectType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2ObjectType->Id_isUsed = 1u; grammarID = 683; break; case 2: errn = decodeUnsignedInteger16(stream, &iso2ObjectType->MimeType.charactersLen); if (errn == 0) { if (iso2ObjectType->MimeType.charactersLen >= 2) { iso2ObjectType->MimeType.charactersLen = (uint16_t)(iso2ObjectType->MimeType.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2ObjectType->MimeType.charactersLen, iso2ObjectType->MimeType.characters, iso2ObjectType_MimeType_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2ObjectType->MimeType_isUsed = 1u; grammarID = 684; break; case 3: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 685; break; case 4: done = 1; grammarID = 4; break; case 5: errn = decodeUnsignedInteger16(stream, &iso2ObjectType->ANY.charactersLen); if (errn == 0) { if (iso2ObjectType->ANY.charactersLen >= 2) { iso2ObjectType->ANY.charactersLen = (uint16_t)(iso2ObjectType->ANY.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2ObjectType->ANY.charactersLen, iso2ObjectType->ANY.characters, iso2ObjectType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2ObjectType->ANY_isUsed = 1u; grammarID = 685; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 682: /* StartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2ObjectType->Id.charactersLen); if (errn == 0) { if (iso2ObjectType->Id.charactersLen >= 2) { iso2ObjectType->Id.charactersLen = (uint16_t)(iso2ObjectType->Id.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2ObjectType->Id.charactersLen, iso2ObjectType->Id.characters, iso2ObjectType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2ObjectType->Id_isUsed = 1u; grammarID = 683; break; case 1: errn = decodeUnsignedInteger16(stream, &iso2ObjectType->MimeType.charactersLen); if (errn == 0) { if (iso2ObjectType->MimeType.charactersLen >= 2) { iso2ObjectType->MimeType.charactersLen = (uint16_t)(iso2ObjectType->MimeType.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2ObjectType->MimeType.charactersLen, iso2ObjectType->MimeType.characters, iso2ObjectType_MimeType_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2ObjectType->MimeType_isUsed = 1u; grammarID = 684; break; case 2: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 685; break; case 3: done = 1; grammarID = 4; break; case 4: errn = decodeUnsignedInteger16(stream, &iso2ObjectType->ANY.charactersLen); if (errn == 0) { if (iso2ObjectType->ANY.charactersLen >= 2) { iso2ObjectType->ANY.charactersLen = (uint16_t)(iso2ObjectType->ANY.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2ObjectType->ANY.charactersLen, iso2ObjectType->ANY.characters, iso2ObjectType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2ObjectType->ANY_isUsed = 1u; grammarID = 685; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 683: /* StartTag[ATTRIBUTE[STRING](MimeType), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2ObjectType->MimeType.charactersLen); if (errn == 0) { if (iso2ObjectType->MimeType.charactersLen >= 2) { iso2ObjectType->MimeType.charactersLen = (uint16_t)(iso2ObjectType->MimeType.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2ObjectType->MimeType.charactersLen, iso2ObjectType->MimeType.characters, iso2ObjectType_MimeType_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2ObjectType->MimeType_isUsed = 1u; grammarID = 684; break; case 1: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 685; break; case 2: done = 1; grammarID = 4; break; case 3: errn = decodeUnsignedInteger16(stream, &iso2ObjectType->ANY.charactersLen); if (errn == 0) { if (iso2ObjectType->ANY.charactersLen >= 2) { iso2ObjectType->ANY.charactersLen = (uint16_t)(iso2ObjectType->ANY.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2ObjectType->ANY.charactersLen, iso2ObjectType->ANY.characters, iso2ObjectType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2ObjectType->ANY_isUsed = 1u; grammarID = 685; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 684: /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 685; break; case 1: done = 1; grammarID = 4; break; case 2: errn = decodeUnsignedInteger16(stream, &iso2ObjectType->ANY.charactersLen); if (errn == 0) { if (iso2ObjectType->ANY.charactersLen >= 2) { iso2ObjectType->ANY.charactersLen = (uint16_t)(iso2ObjectType->ANY.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2ObjectType->ANY.charactersLen, iso2ObjectType->ANY.characters, iso2ObjectType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2ObjectType->ANY_isUsed = 1u; grammarID = 685; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 685: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 685; break; case 1: done = 1; grammarID = 4; break; case 2: errn = decodeUnsignedInteger16(stream, &iso2ObjectType->ANY.charactersLen); if (errn == 0) { if (iso2ObjectType->ANY.charactersLen >= 2) { iso2ObjectType->ANY.charactersLen = (uint16_t)(iso2ObjectType->ANY.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2ObjectType->ANY.charactersLen, iso2ObjectType->ANY.characters, iso2ObjectType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2ObjectType->ANY_isUsed = 1u; grammarID = 685; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorOrderListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SensorPosition{1-255})', derivedBy='RESTRICTION'. */ static int decode_iso2SensorOrderListType(bitstream_t* stream, struct iso2SensorOrderListType* iso2SensorOrderListType) { int grammarID = 686; int done = 0; init_iso2SensorOrderListType(iso2SensorOrderListType); while(!done) { switch(grammarID) { case 686: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 687; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 687: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 688; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 688: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 689; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 689: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 690; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 690: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 691; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 691: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 692; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 692: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 693; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 693: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 694; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 694: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 695; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 695: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 696; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 696: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 697; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 697: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 698; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 698: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 699; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 699: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 700; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 700: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 701; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 701: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 702; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 702: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 703; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 703: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 704; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 704: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 705; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 705: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 706; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 706: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 707; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 707: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 708; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 708: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 709; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 709: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 710; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 710: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 711; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 711: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 712; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 712: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 713; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 713: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 714; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 714: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 715; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 715: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 716; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 716: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 717; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 717: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 718; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 718: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 719; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 719: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 720; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 720: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 721; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 721: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 722; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 722: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 723; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 723: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 724; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 724: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 725; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 725: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 726; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 726: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 727; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 727: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 728; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 728: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 729; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 729: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 730; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 730: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 731; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 731: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 732; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 732: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 733; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 733: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 734; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 734: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 735; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 735: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 736; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 736: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 737; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 737: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 738; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 738: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 739; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 739: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 740; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 740: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 741; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 741: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 742; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 742: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 743; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 743: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 744; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 744: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 745; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 745: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 746; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 746: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 747; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 747: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 748; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 748: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 749; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 749: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 750; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 750: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 751; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 751: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 752; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 752: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 753; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 753: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 754; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 754: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 755; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 755: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 756; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 756: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 757; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 757: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 758; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 758: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 759; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 759: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 760; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 760: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 761; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 761: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 762; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 762: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 763; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 763: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 764; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 764: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 765; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 765: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 766; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 766: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 767; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 767: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 768; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 768: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 769; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 769: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 770; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 770: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 771; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 771: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 772; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 772: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 773; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 773: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 774; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 774: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 775; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 775: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 776; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 776: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 777; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 777: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 778; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 778: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 779; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 779: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 780; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 780: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 781; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 781: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 782; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 782: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 783; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 783: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 784; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 784: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 785; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 785: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 786; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 786: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 787; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 787: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 788; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 788: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 789; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 789: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 790; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 790: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 791; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 791: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 792; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 792: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 793; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 793: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 794; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 794: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 795; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 795: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 796; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 796: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 797; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 797: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 798; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 798: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 799; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 799: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 800; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 800: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 801; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 801: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 802; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 802: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 803; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 803: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 804; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 804: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 805; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 805: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 806; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 806: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 807; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 807: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 808; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 808: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 809; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 809: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 810; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 810: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 811; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 811: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 812; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 812: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 813; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 813: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 814; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 814: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 815; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 815: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 816; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 816: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 817; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 817: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 818; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 818: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 819; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 819: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 820; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 820: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 821; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 821: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 822; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 822: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 823; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 823: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 824; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 824: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 825; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 825: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 826; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 826: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 827; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 827: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 828; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 828: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 829; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 829: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 830; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 830: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 831; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 831: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 832; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 832: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 833; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 833: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 834; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 834: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 835; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 835: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 836; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 836: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 837; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 837: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 838; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 838: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 839; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 839: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 840; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 840: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 841; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 841: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 842; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 842: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 843; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 843: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 844; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 844: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 845; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 845: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 846; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 846: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 847; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 847: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 848; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 848: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 849; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 849: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 850; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 850: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 851; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 851: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 852; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 852: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 853; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 853: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 854; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 854: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 855; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 855: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 856; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 856: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 857; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 857: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 858; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 858: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 859; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 859: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 860; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 860: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 861; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 861: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 862; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 862: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 863; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 863: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 864; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 864: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 865; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 865: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 866; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 866: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 867; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 867: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 868; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 868: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 869; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 869: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 870; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 870: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 871; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 871: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 872; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 872: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 873; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 873: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 874; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 874: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 875; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 875: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 876; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 876: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 877; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 877: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 878; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 878: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 879; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 879: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 880; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 880: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 881; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 881: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 882; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 882: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 883; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 883: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 884; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 884: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 885; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 885: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 886; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 886: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 887; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 887: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 888; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 888: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 889; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 889: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 890; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 890: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 891; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 891: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 892; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 892: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 893; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 893: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 894; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 894: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 895; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 895: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 896; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 896: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 897; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 897: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 898; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 898: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 899; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 899: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 900; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 900: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 901; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 901: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 902; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 902: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 903; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 903: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 904; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 904: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 905; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 905: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 906; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 906: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 907; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 907: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 908; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 908: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 909; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 909: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 910; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 910: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 911; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 911: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 912; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 912: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 913; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 913: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 914; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 914: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 915; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 915: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 916; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 916: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 917; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 917: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 918; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 918: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 919; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 919: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 920; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 920: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 921; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 921: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 922; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 922: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 923; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 923: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 924; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 924: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 925; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 925: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 926; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 926: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 927; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 927: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 928; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 928: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 929; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 929: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 930; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 930: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 931; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 931: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 932; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 932: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 933; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 933: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 934; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 934: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 935; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 935: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 936; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 936: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 937; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 937: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 938; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 938: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 939; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 939: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 940; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 940: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorOrderListType->SensorPosition.arrayLen < iso2SensorOrderListType_SensorPosition_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorOrderListType->SensorPosition.array[iso2SensorOrderListType->SensorPosition.arrayLen] = (uint8_t)(uint32 + 0); iso2SensorOrderListType->SensorPosition.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,ChargeParameterDiscoveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":MaxSupportingPoints{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVEnergyTransferParameter,"urn:iso:15118:2:2016:MsgBody":MinimumPMaxRequest{0-1})', derivedBy='EXTENSION'. */ static int decode_iso2ChargeParameterDiscoveryReqType(bitstream_t* stream, struct iso2ChargeParameterDiscoveryReqType* iso2ChargeParameterDiscoveryReqType) { int grammarID = 941; int done = 0; init_iso2ChargeParameterDiscoveryReqType(iso2ChargeParameterDiscoveryReqType); while(!done) { switch(grammarID) { case 941: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MaxSupportingPoints), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 10, &(uint32)); iso2ChargeParameterDiscoveryReqType->MaxSupportingPoints = (uint16_t)(uint32 + 12); iso2ChargeParameterDiscoveryReqType->MaxSupportingPoints_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MaxSupportingPoints) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 942; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: errn = decode_iso2AC_EVBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter); iso2ChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter_isUsed = 1u; grammarID = 943; break; case 2: errn = decode_iso2AC_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->AC_EVChargeParameter); iso2ChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 1u; grammarID = 943; break; case 3: errn = decode_iso2DC_EVBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter); iso2ChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter_isUsed = 1u; grammarID = 943; break; case 4: errn = decode_iso2DC_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->DC_EVChargeParameter); iso2ChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 1u; grammarID = 943; break; case 5: errn = decode_iso2EVEnergyTransferParameterType(stream, &iso2ChargeParameterDiscoveryReqType->EVEnergyTransferParameter); iso2ChargeParameterDiscoveryReqType->EVEnergyTransferParameter_isUsed = 1u; grammarID = 943; break; case 6: errn = decode_iso2WPT_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->WPT_EVChargeParameter); iso2ChargeParameterDiscoveryReqType->WPT_EVChargeParameter_isUsed = 1u; grammarID = 943; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 942: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2AC_EVBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter); iso2ChargeParameterDiscoveryReqType->AC_EVBidirectionalParameter_isUsed = 1u; grammarID = 943; break; case 1: errn = decode_iso2AC_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->AC_EVChargeParameter); iso2ChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 1u; grammarID = 943; break; case 2: errn = decode_iso2DC_EVBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter); iso2ChargeParameterDiscoveryReqType->DC_EVBidirectionalParameter_isUsed = 1u; grammarID = 943; break; case 3: errn = decode_iso2DC_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->DC_EVChargeParameter); iso2ChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 1u; grammarID = 943; break; case 4: errn = decode_iso2EVEnergyTransferParameterType(stream, &iso2ChargeParameterDiscoveryReqType->EVEnergyTransferParameter); iso2ChargeParameterDiscoveryReqType->EVEnergyTransferParameter_isUsed = 1u; grammarID = 943; break; case 5: errn = decode_iso2WPT_EVChargeParameterType(stream, &iso2ChargeParameterDiscoveryReqType->WPT_EVChargeParameter); iso2ChargeParameterDiscoveryReqType->WPT_EVChargeParameter_isUsed = 1u; grammarID = 943; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 943: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MinimumPMaxRequest), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2MinimumPMaxRequestType(stream, &iso2ChargeParameterDiscoveryReqType->MinimumPMaxRequest); iso2ChargeParameterDiscoveryReqType->MinimumPMaxRequest_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ParameterType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":boolValue|"urn:iso:15118:2:2016:MsgDataTypes":byteValue|"urn:iso:15118:2:2016:MsgDataTypes":shortValue|"urn:iso:15118:2:2016:MsgDataTypes":intValue|"urn:iso:15118:2:2016:MsgDataTypes":physicalValue|"urn:iso:15118:2:2016:MsgDataTypes":stringValue)', derivedBy='RESTRICTION'. */ static int decode_iso2ParameterType(bitstream_t* stream, struct iso2ParameterType* iso2ParameterType) { int grammarID = 944; int done = 0; init_iso2ParameterType(iso2ParameterType); while(!done) { switch(grammarID) { case 944: /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Name)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2ParameterType->Name.charactersLen); if (errn == 0) { if (iso2ParameterType->Name.charactersLen >= 2) { iso2ParameterType->Name.charactersLen = (uint16_t)(iso2ParameterType->Name.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2ParameterType->Name.charactersLen, iso2ParameterType->Name.characters, iso2ParameterType_Name_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } grammarID = 945; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 945: /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}stringValue)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2ParameterType->boolValue); iso2ParameterType->boolValue_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}boolValue) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2ParameterType->byteValue = (int8_t)(uint32 -128); iso2ParameterType->byteValue_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}byteValue) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger16(stream, &iso2ParameterType->shortValue); iso2ParameterType->shortValue_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}shortValue) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger32(stream, &iso2ParameterType->intValue); iso2ParameterType->intValue_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}intValue) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 4: errn = decode_iso2PhysicalValueType(stream, &iso2ParameterType->physicalValue); iso2ParameterType->physicalValue_isUsed = 1u; grammarID = 3; break; case 5: /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2ParameterType->stringValue.charactersLen); if (errn == 0) { if (iso2ParameterType->stringValue.charactersLen >= 2) { iso2ParameterType->stringValue.charactersLen = (uint16_t)(iso2ParameterType->stringValue.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2ParameterType->stringValue.charactersLen, iso2ParameterType->stringValue.characters, iso2ParameterType_stringValue_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2ParameterType->stringValue_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}stringValue) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,SessionStopReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ChargingSession)', derivedBy='EXTENSION'. */ static int decode_iso2SessionStopReqType(bitstream_t* stream, struct iso2SessionStopReqType* iso2SessionStopReqType) { int grammarID = 946; int done = 0; init_iso2SessionStopReqType(iso2SessionStopReqType); while(!done) { switch(grammarID) { case 946: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingSession)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); iso2SessionStopReqType->ChargingSession = (iso2chargingSessionType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingSession) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorMeasurementsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SensorID,"urn:iso:15118:2:2016:MsgDataTypes":EffectiveRadiatedPower,"urn:iso:15118:2:2016:MsgDataTypes":MeasurementDataList)', derivedBy='RESTRICTION'. */ static int decode_iso2SensorMeasurementsType(bitstream_t* stream, struct iso2SensorMeasurementsType* iso2SensorMeasurementsType) { int grammarID = 947; int done = 0; init_iso2SensorMeasurementsType(iso2SensorMeasurementsType); while(!done) { switch(grammarID) { case 947: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorMeasurementsType->SensorID = (uint8_t)(uint32 + 0); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 948; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 948: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EffectiveRadiatedPower)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorMeasurementsType->EffectiveRadiatedPower = (int8_t)(uint32 -128); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EffectiveRadiatedPower) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 949; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 949: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementDataList)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2MeasurementDataListType(stream, &iso2SensorMeasurementsType->MeasurementDataList); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,DC_EVSEChargeParameterType', base type name='EVSEEnergyTransferParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumChargePower,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMinimumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumVoltage,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMinimumVoltage,"urn:iso:15118:2:2016:MsgDataTypes":EVSECurrentRegulationTolerance{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVSEPeakCurrentRipple,"urn:iso:15118:2:2016:MsgDataTypes":EVSEEnergyToBeDelivered{0-1})', derivedBy='EXTENSION'. */ static int decode_iso2DC_EVSEChargeParameterType(bitstream_t* stream, struct iso2DC_EVSEChargeParameterType* iso2DC_EVSEChargeParameterType) { int grammarID = 950; int done = 0; init_iso2DC_EVSEChargeParameterType(iso2DC_EVSEChargeParameterType); while(!done) { switch(grammarID) { case 950: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMaximumChargePower); grammarID = 951; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 951: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMaximumChargeCurrent); grammarID = 952; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 952: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMinimumChargeCurrent); grammarID = 953; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 953: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMaximumVoltage); grammarID = 954; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 954: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEMinimumVoltage); grammarID = 955; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 955: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSECurrentRegulationTolerance); iso2DC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed = 1u; grammarID = 956; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEPeakCurrentRipple); grammarID = 957; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 956: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEPeakCurrentRipple); grammarID = 957; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 957: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyToBeDelivered), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEChargeParameterType->EVSEEnergyToBeDelivered); iso2DC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorPackageListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SensorPackage{1-255})', derivedBy='RESTRICTION'. */ static int decode_iso2SensorPackageListType(bitstream_t* stream, struct iso2SensorPackageListType* iso2SensorPackageListType) { int grammarID = 958; int done = 0; init_iso2SensorPackageListType(iso2SensorPackageListType); while(!done) { switch(grammarID) { case 958: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 959; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 959: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 960; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 960: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 961; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 961: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 962; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 962: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 963; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 963: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 964; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 964: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 965; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 965: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 966; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 966: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 967; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 967: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 968; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 968: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 969; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 969: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 970; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 970: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 971; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 971: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 972; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 972: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 973; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 973: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 974; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 974: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 975; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 975: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 976; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 976: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 977; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 977: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 978; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 978: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 979; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 979: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 980; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 980: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 981; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 981: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 982; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 982: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 983; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 983: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 984; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 984: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 985; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 985: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 986; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 986: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 987; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 987: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 988; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 988: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 989; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 989: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 990; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 990: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 991; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 991: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 992; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 992: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 993; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 993: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 994; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 994: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 995; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 995: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 996; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 996: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 997; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 997: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 998; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 998: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 999; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 999: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1000; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1000: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1001; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1001: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1002; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1002: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1003; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1003: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1004; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1004: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1005; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1005: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1006; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1006: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1007; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1007: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1008; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1008: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1009; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1009: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1010; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1010: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1011; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1011: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1012; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1012: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1013; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1013: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1014; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1014: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1015; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1015: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1016; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1016: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1017; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1017: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1018; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1018: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1019; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1019: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1020; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1020: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1021; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1021: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1022; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1022: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1023; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1023: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1024; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1024: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1025; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1025: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1026; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1026: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1027; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1027: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1028; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1028: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1029; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1029: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1030; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1030: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1031; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1031: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1032; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1032: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1033; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1033: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1034; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1034: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1035; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1035: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1036; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1036: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1037; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1037: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1038; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1038: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1039; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1039: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1040; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1040: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1041; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1041: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1042; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1042: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1043; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1043: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1044; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1044: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1045; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1045: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1046; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1046: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1047; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1047: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1048; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1048: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1049; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1049: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1050; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1050: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1051; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1051: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1052; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1052: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1053; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1053: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1054; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1054: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1055; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1055: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1056; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1056: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1057; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1057: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1058; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1058: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1059; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1059: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1060; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1060: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1061; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1061: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1062; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1062: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1063; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1063: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1064; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1064: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1065; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1065: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1066; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1066: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1067; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1067: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1068; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1068: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1069; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1069: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1070; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1070: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1071; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1071: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1072; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1072: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1073; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1073: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1074; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1074: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1075; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1075: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1076; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1076: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1077; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1077: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1078; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1078: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1079; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1079: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1080; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1080: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1081; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1081: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1082; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1082: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1083; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1083: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1084; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1084: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1085; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1085: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1086; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1086: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1087; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1087: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1088; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1088: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1089; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1089: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1090; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1090: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1091; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1091: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1092; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1092: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1093; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1093: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1094; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1094: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1095; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1095: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1096; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1096: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1097; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1097: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1098; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1098: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1099; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1099: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1100; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1100: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1101; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1101: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1102; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1102: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1103; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1103: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1104; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1104: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1105; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1105: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1106; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1106: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1107; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1107: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1108; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1108: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1109; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1109: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1110; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1110: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1111; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1111: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1112; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1112: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1113; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1113: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1114; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1114: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1115; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1115: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1116; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1116: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1117; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1117: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1118; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1118: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1119; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1119: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1120; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1120: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1121; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1121: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1122; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1122: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1123; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1123: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1124; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1124: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1125; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1125: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1126; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1126: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1127; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1127: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1128; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1128: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1129; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1129: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1130; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1130: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1131; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1131: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1132; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1132: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1133; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1133: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1134; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1134: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1135; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1135: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1136; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1136: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1137; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1137: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1138; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1138: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1139; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1139: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1140; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1140: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1141; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1141: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1142; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1142: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1143; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1143: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1144; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1144: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1145; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1145: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1146; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1146: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1147; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1147: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1148; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1148: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1149; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1149: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1150; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1150: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1151; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1151: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1152; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1152: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1153; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1153: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1154; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1154: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1155; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1155: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1156; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1156: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1157; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1157: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1158; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1158: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1159; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1159: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1160; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1160: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1161; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1161: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1162; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1162: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1163; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1163: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1164; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1164: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1165; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1165: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1166; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1166: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1167; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1167: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1168; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1168: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1169; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1169: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1170; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1170: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1171; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1171: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1172; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1172: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1173; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1173: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1174; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1174: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1175; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1175: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1176; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1176: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1177; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1177: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1178; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1178: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1179; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1179: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1180; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1180: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1181; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1181: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1182; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1182: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1183; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1183: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1184; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1184: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1185; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1185: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1186; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1186: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1187; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1187: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1188; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1188: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1189; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1189: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1190; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1190: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1191; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1191: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1192; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1192: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1193; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1193: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1194; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1194: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1195; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1195: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1196; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1196: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1197; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1197: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1198; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1198: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1199; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1199: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1200; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1200: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1201; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1201: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1202; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1202: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1203; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1203: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1204; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1204: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1205; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1205: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1206; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1206: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1207; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1207: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1208; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1208: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1209; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1209: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1210; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1210: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1211; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1211: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1212; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1212: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageListType->SensorPackage.arrayLen < iso2SensorPackageListType_SensorPackage_ARRAY_SIZE) { errn = decode_iso2SensorPackageType(stream, &iso2SensorPackageListType->SensorPackage.array[iso2SensorPackageListType->SensorPackage.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MeasurementDataListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":MeasurementData{1-255})', derivedBy='RESTRICTION'. */ static int decode_iso2MeasurementDataListType(bitstream_t* stream, struct iso2MeasurementDataListType* iso2MeasurementDataListType) { int grammarID = 1213; int done = 0; init_iso2MeasurementDataListType(iso2MeasurementDataListType); while(!done) { switch(grammarID) { case 1213: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1214; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1214: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1215; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1215: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1216; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1216: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1217; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1217: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1218; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1218: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1219; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1219: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1220; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1220: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1221; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1221: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1222; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1222: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1223; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1223: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1224; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1224: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1225; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1225: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1226; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1226: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1227; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1227: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1228; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1228: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1229; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1229: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1230; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1230: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1231; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1231: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1232; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1232: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1233; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1233: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1234; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1234: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1235; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1235: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1236; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1236: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1237; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1237: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1238; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1238: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1239; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1239: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1240; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1240: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1241; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1241: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1242; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1242: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1243; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1243: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1244; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1244: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1245; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1245: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1246; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1246: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1247; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1247: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1248; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1248: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1249; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1249: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1250; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1250: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1251; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1251: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1252; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1252: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1253; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1253: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1254; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1254: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1255; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1255: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1256; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1256: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1257; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1257: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1258; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1258: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1259; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1259: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1260; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1260: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1261; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1261: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1262; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1262: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1263; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1263: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1264; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1264: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1265; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1265: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1266; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1266: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1267; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1267: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1268; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1268: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1269; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1269: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1270; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1270: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1271; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1271: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1272; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1272: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1273; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1273: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1274; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1274: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1275; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1275: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1276; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1276: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1277; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1277: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1278; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1278: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1279; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1279: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1280; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1280: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1281; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1281: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1282; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1282: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1283; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1283: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1284; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1284: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1285; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1285: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1286; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1286: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1287; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1287: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1288; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1288: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1289; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1289: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1290; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1290: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1291; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1291: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1292; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1292: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1293; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1293: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1294; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1294: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1295; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1295: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1296; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1296: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1297; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1297: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1298; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1298: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1299; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1299: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1300; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1300: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1301; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1301: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1302; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1302: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1303; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1303: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1304; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1304: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1305; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1305: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1306; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1306: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1307; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1307: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1308; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1308: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1309; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1309: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1310; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1310: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1311; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1311: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1312; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1312: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1313; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1313: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1314; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1314: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1315; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1315: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1316; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1316: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1317; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1317: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1318; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1318: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1319; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1319: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1320; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1320: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1321; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1321: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1322; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1322: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1323; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1323: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1324; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1324: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1325; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1325: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1326; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1326: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1327; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1327: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1328; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1328: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1329; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1329: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1330; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1330: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1331; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1331: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1332; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1332: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1333; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1333: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1334; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1334: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1335; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1335: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1336; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1336: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1337; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1337: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1338; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1338: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1339; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1339: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1340; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1340: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1341; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1341: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1342; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1342: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1343; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1343: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1344; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1344: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1345; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1345: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1346; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1346: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1347; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1347: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1348; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1348: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1349; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1349: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1350; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1350: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1351; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1351: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1352; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1352: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1353; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1353: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1354; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1354: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1355; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1355: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1356; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1356: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1357; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1357: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1358; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1358: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1359; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1359: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1360; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1360: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1361; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1361: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1362; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1362: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1363; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1363: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1364; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1364: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1365; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1365: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1366; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1366: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1367; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1367: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1368; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1368: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1369; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1369: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1370; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1370: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1371; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1371: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1372; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1372: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1373; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1373: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1374; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1374: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1375; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1375: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1376; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1376: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1377; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1377: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1378; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1378: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1379; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1379: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1380; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1380: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1381; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1381: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1382; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1382: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1383; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1383: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1384; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1384: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1385; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1385: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1386; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1386: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1387; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1387: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1388; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1388: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1389; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1389: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1390; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1390: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1391; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1391: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1392; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1392: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1393; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1393: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1394; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1394: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1395; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1395: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1396; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1396: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1397; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1397: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1398; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1398: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1399; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1399: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1400; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1400: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1401; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1401: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1402; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1402: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1403; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1403: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1404; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1404: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1405; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1405: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1406; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1406: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1407; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1407: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1408; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1408: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1409; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1409: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1410; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1410: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1411; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1411: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1412; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1412: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1413; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1413: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1414; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1414: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1415; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1415: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1416; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1416: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1417; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1417: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1418; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1418: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1419; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1419: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1420; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1420: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1421; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1421: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1422; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1422: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1423; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1423: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1424; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1424: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1425; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1425: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1426; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1426: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1427; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1427: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1428; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1428: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1429; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1429: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1430; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1430: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1431; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1431: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1432; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1432: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1433; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1433: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1434; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1434: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1435; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1435: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1436; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1436: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1437; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1437: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1438; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1438: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1439; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1439: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1440; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1440: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1441; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1441: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1442; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1442: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1443; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1443: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1444; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1444: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1445; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1445: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1446; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1446: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1447; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1447: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1448; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1448: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1449; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1449: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1450; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1450: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1451; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1451: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1452; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1452: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1453; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1453: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1454; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1454: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1455; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1455: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1456; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1456: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1457; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1457: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1458; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1458: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1459; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1459: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1460; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1460: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1461; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1461: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1462; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1462: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1463; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1463: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1464; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1464: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1465; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1465: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1466; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1466: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1467; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1467: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MeasurementDataListType->MeasurementData.arrayLen < iso2MeasurementDataListType_MeasurementData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeasurementDataListType->MeasurementData.array[iso2MeasurementDataListType->MeasurementData.arrayLen]); iso2MeasurementDataListType->MeasurementData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,CertificateChainType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":Certificate,"urn:iso:15118:2:2016:MsgDataTypes":SubCertificates{0-1})', derivedBy='RESTRICTION'. */ static int decode_iso2CertificateChainType(bitstream_t* stream, struct iso2CertificateChainType* iso2CertificateChainType) { int grammarID = 1468; int done = 0; init_iso2CertificateChainType(iso2CertificateChainType); while(!done) { switch(grammarID) { case 1468: /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Id), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2CertificateChainType->Id.charactersLen); if (errn == 0) { if (iso2CertificateChainType->Id.charactersLen >= 2) { iso2CertificateChainType->Id.charactersLen = (uint16_t)(iso2CertificateChainType->Id.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2CertificateChainType->Id.charactersLen, iso2CertificateChainType->Id.characters, iso2CertificateChainType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2CertificateChainType->Id_isUsed = 1u; grammarID = 1469; break; case 1: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2CertificateChainType->Certificate.bytesLen); if (errn == 0) { errn = (iso2CertificateChainType->Certificate.bytesLen) <= iso2CertificateChainType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2CertificateChainType->Certificate.bytesLen, iso2CertificateChainType->Certificate.bytes); } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1470; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1469: /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2CertificateChainType->Certificate.bytesLen); if (errn == 0) { errn = (iso2CertificateChainType->Certificate.bytesLen) <= iso2CertificateChainType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2CertificateChainType->Certificate.bytesLen, iso2CertificateChainType->Certificate.bytes); } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1470; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1470: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SubCertificates), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2SubCertificatesType(stream, &iso2CertificateChainType->SubCertificates); iso2CertificateChainType->SubCertificates_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignaturePropertyType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((WC[##other:"http://www.w3.org/2000/09/xmldsig#"])){1-UNBOUNDED}', derivedBy='RESTRICTION'. */ static int decode_iso2SignaturePropertyType(bitstream_t* stream, struct iso2SignaturePropertyType* iso2SignaturePropertyType) { int grammarID = 1471; int done = 0; init_iso2SignaturePropertyType(iso2SignaturePropertyType); while(!done) { switch(grammarID) { case 1471: /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Target)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2SignaturePropertyType->Id.charactersLen); if (errn == 0) { if (iso2SignaturePropertyType->Id.charactersLen >= 2) { iso2SignaturePropertyType->Id.charactersLen = (uint16_t)(iso2SignaturePropertyType->Id.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2SignaturePropertyType->Id.charactersLen, iso2SignaturePropertyType->Id.characters, iso2SignaturePropertyType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2SignaturePropertyType->Id_isUsed = 1u; grammarID = 1472; break; case 1: errn = decodeUnsignedInteger16(stream, &iso2SignaturePropertyType->Target.charactersLen); if (errn == 0) { if (iso2SignaturePropertyType->Target.charactersLen >= 2) { iso2SignaturePropertyType->Target.charactersLen = (uint16_t)(iso2SignaturePropertyType->Target.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2SignaturePropertyType->Target.charactersLen, iso2SignaturePropertyType->Target.characters, iso2SignaturePropertyType_Target_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } grammarID = 1473; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1472: /* StartTag[ATTRIBUTE[STRING](Target)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2SignaturePropertyType->Target.charactersLen); if (errn == 0) { if (iso2SignaturePropertyType->Target.charactersLen >= 2) { iso2SignaturePropertyType->Target.charactersLen = (uint16_t)(iso2SignaturePropertyType->Target.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2SignaturePropertyType->Target.charactersLen, iso2SignaturePropertyType->Target.characters, iso2SignaturePropertyType_Target_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } grammarID = 1473; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1473: /* StartTag[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 685; break; case 1: errn = decodeUnsignedInteger16(stream, &iso2SignaturePropertyType->ANY.charactersLen); if (errn == 0) { if (iso2SignaturePropertyType->ANY.charactersLen >= 2) { iso2SignaturePropertyType->ANY.charactersLen = (uint16_t)(iso2SignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2SignaturePropertyType->ANY.charactersLen, iso2SignaturePropertyType->ANY.characters, iso2SignaturePropertyType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2SignaturePropertyType->ANY_isUsed = 1u; grammarID = 1474; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 685: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 685; break; case 1: done = 1; grammarID = 4; break; case 2: errn = decodeUnsignedInteger16(stream, &iso2SignaturePropertyType->ANY.charactersLen); if (errn == 0) { if (iso2SignaturePropertyType->ANY.charactersLen >= 2) { iso2SignaturePropertyType->ANY.charactersLen = (uint16_t)(iso2SignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2SignaturePropertyType->ANY.charactersLen, iso2SignaturePropertyType->ANY.characters, iso2SignaturePropertyType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2SignaturePropertyType->ANY_isUsed = 1u; grammarID = 685; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1474: /* Element[START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 685; break; case 1: errn = decodeUnsignedInteger16(stream, &iso2SignaturePropertyType->ANY.charactersLen); if (errn == 0) { if (iso2SignaturePropertyType->ANY.charactersLen >= 2) { iso2SignaturePropertyType->ANY.charactersLen = (uint16_t)(iso2SignaturePropertyType->ANY.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2SignaturePropertyType->ANY.charactersLen, iso2SignaturePropertyType->ANY.characters, iso2SignaturePropertyType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2SignaturePropertyType->ANY_isUsed = 1u; grammarID = 1474; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='http://www.w3.org/2000/09/xmldsig#,TransformType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((WC[##other:"http://www.w3.org/2000/09/xmldsig#"])|"http://www.w3.org/2000/09/xmldsig#":XPath){0-UNBOUNDED}', derivedBy='RESTRICTION'. */ static int decode_iso2TransformType(bitstream_t* stream, struct iso2TransformType* iso2TransformType) { int grammarID = 1475; int done = 0; init_iso2TransformType(iso2TransformType); while(!done) { switch(grammarID) { case 1475: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2TransformType->Algorithm.charactersLen); if (errn == 0) { if (iso2TransformType->Algorithm.charactersLen >= 2) { iso2TransformType->Algorithm.charactersLen = (uint16_t)(iso2TransformType->Algorithm.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2TransformType->Algorithm.charactersLen, iso2TransformType->Algorithm.characters, iso2TransformType_Algorithm_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } grammarID = 1476; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1476: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2TransformType->XPath.arrayLen < iso2TransformType_XPath_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen); if (errn == 0) { if (iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen >= 2) { iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen = (uint16_t)(iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen, iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].characters, iso2TransformType_XPath_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2TransformType->XPath.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1477; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 1477; break; case 2: done = 1; grammarID = 4; break; case 3: errn = decodeUnsignedInteger16(stream, &iso2TransformType->ANY.charactersLen); if (errn == 0) { if (iso2TransformType->ANY.charactersLen >= 2) { iso2TransformType->ANY.charactersLen = (uint16_t)(iso2TransformType->ANY.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2TransformType->ANY.charactersLen, iso2TransformType->ANY.characters, iso2TransformType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2TransformType->ANY_isUsed = 1u; grammarID = 1477; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1477: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2TransformType->XPath.arrayLen < iso2TransformType_XPath_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen); if (errn == 0) { if (iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen >= 2) { iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen = (uint16_t)(iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].charactersLen, iso2TransformType->XPath.array[iso2TransformType->XPath.arrayLen].characters, iso2TransformType_XPath_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2TransformType->XPath.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1477; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 1477; break; case 2: done = 1; grammarID = 4; break; case 3: errn = decodeUnsignedInteger16(stream, &iso2TransformType->ANY.charactersLen); if (errn == 0) { if (iso2TransformType->ANY.charactersLen >= 2) { iso2TransformType->ANY.charactersLen = (uint16_t)(iso2TransformType->ANY.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2TransformType->ANY.charactersLen, iso2TransformType->ANY.characters, iso2TransformType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2TransformType->ANY_isUsed = 1u; grammarID = 1477; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EMAIDType', base type name='eMAIDType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ static int decode_iso2EMAIDType(bitstream_t* stream, struct iso2EMAIDType* iso2EMAIDType) { int grammarID = 1478; int done = 0; init_iso2EMAIDType(iso2EMAIDType); while(!done) { switch(grammarID) { case 1478: /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Id)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2EMAIDType->Id.charactersLen); if (errn == 0) { if (iso2EMAIDType->Id.charactersLen >= 2) { iso2EMAIDType->Id.charactersLen = (uint16_t)(iso2EMAIDType->Id.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2EMAIDType->Id.charactersLen, iso2EMAIDType->Id.characters, iso2EMAIDType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } grammarID = 1479; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1479: /* StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2EMAIDType->CONTENT.charactersLen); if (errn == 0) { if (iso2EMAIDType->CONTENT.charactersLen >= 2) { iso2EMAIDType->CONTENT.charactersLen = (uint16_t)(iso2EMAIDType->CONTENT.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2EMAIDType->CONTENT.charactersLen, iso2EMAIDType->CONTENT.characters, iso2EMAIDType_CONTENT_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='http://www.w3.org/2000/09/xmldsig#,DSAKeyValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("http://www.w3.org/2000/09/xmldsig#":P,"http://www.w3.org/2000/09/xmldsig#":Q){0-1},"http://www.w3.org/2000/09/xmldsig#":G{0-1},"http://www.w3.org/2000/09/xmldsig#":Y,"http://www.w3.org/2000/09/xmldsig#":J{0-1},("http://www.w3.org/2000/09/xmldsig#":Seed,"http://www.w3.org/2000/09/xmldsig#":PgenCounter){0-1})', derivedBy='RESTRICTION'. */ static int decode_iso2DSAKeyValueType(bitstream_t* stream, struct iso2DSAKeyValueType* iso2DSAKeyValueType) { int grammarID = 1480; int done = 0; init_iso2DSAKeyValueType(iso2DSAKeyValueType); while(!done) { switch(grammarID) { case 1480: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->P.bytesLen); if (errn == 0) { errn = (iso2DSAKeyValueType->P.bytesLen) <= iso2DSAKeyValueType_P_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2DSAKeyValueType->P.bytesLen, iso2DSAKeyValueType->P.bytes); } iso2DSAKeyValueType->P_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1481; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->G.bytesLen); if (errn == 0) { errn = (iso2DSAKeyValueType->G.bytesLen) <= iso2DSAKeyValueType_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2DSAKeyValueType->G.bytesLen, iso2DSAKeyValueType->G.bytes); } iso2DSAKeyValueType->G_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1482; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->Y.bytesLen); if (errn == 0) { errn = (iso2DSAKeyValueType->Y.bytesLen) <= iso2DSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2DSAKeyValueType->Y.bytesLen, iso2DSAKeyValueType->Y.bytes); } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1483; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1481: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->Q.bytesLen); if (errn == 0) { errn = (iso2DSAKeyValueType->Q.bytesLen) <= iso2DSAKeyValueType_Q_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2DSAKeyValueType->Q.bytesLen, iso2DSAKeyValueType->Q.bytes); } iso2DSAKeyValueType->Q_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1484; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1484: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->G.bytesLen); if (errn == 0) { errn = (iso2DSAKeyValueType->G.bytesLen) <= iso2DSAKeyValueType_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2DSAKeyValueType->G.bytesLen, iso2DSAKeyValueType->G.bytes); } iso2DSAKeyValueType->G_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1482; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->Y.bytesLen); if (errn == 0) { errn = (iso2DSAKeyValueType->Y.bytesLen) <= iso2DSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2DSAKeyValueType->Y.bytesLen, iso2DSAKeyValueType->Y.bytes); } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1483; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1482: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->Y.bytesLen); if (errn == 0) { errn = (iso2DSAKeyValueType->Y.bytesLen) <= iso2DSAKeyValueType_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2DSAKeyValueType->Y.bytesLen, iso2DSAKeyValueType->Y.bytes); } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1483; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1483: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->J.bytesLen); if (errn == 0) { errn = (iso2DSAKeyValueType->J.bytesLen) <= iso2DSAKeyValueType_J_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2DSAKeyValueType->J.bytesLen, iso2DSAKeyValueType->J.bytes); } iso2DSAKeyValueType->J_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1485; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->Seed.bytesLen); if (errn == 0) { errn = (iso2DSAKeyValueType->Seed.bytesLen) <= iso2DSAKeyValueType_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2DSAKeyValueType->Seed.bytesLen, iso2DSAKeyValueType->Seed.bytes); } iso2DSAKeyValueType->Seed_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1486; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1485: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->Seed.bytesLen); if (errn == 0) { errn = (iso2DSAKeyValueType->Seed.bytesLen) <= iso2DSAKeyValueType_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2DSAKeyValueType->Seed.bytesLen, iso2DSAKeyValueType->Seed.bytes); } iso2DSAKeyValueType->Seed_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1486; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1486: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2DSAKeyValueType->PgenCounter.bytesLen); if (errn == 0) { errn = (iso2DSAKeyValueType->PgenCounter.bytesLen) <= iso2DSAKeyValueType_PgenCounter_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2DSAKeyValueType->PgenCounter.bytesLen, iso2DSAKeyValueType->PgenCounter.bytes); } iso2DSAKeyValueType->PgenCounter_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EntryType', base type name='anyType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":RelativeTimeInterval)', derivedBy='RESTRICTION'. */ static int decode_iso2EntryType(bitstream_t* stream, struct iso2EntryType* iso2EntryType) { int grammarID = 1487; int done = 0; init_iso2EntryType(iso2EntryType); while(!done) { switch(grammarID) { case 1487: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2RelativeTimeIntervalType(stream, &iso2EntryType->RelativeTimeInterval); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgHeader,MessageHeaderType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgHeader":SessionID,"http://www.w3.org/2000/09/xmldsig#":Signature{0-1})', derivedBy='RESTRICTION'. */ static int decode_iso2MessageHeaderType(bitstream_t* stream, struct iso2MessageHeaderType* iso2MessageHeaderType) { int grammarID = 1488; int done = 0; init_iso2MessageHeaderType(iso2MessageHeaderType); while(!done) { switch(grammarID) { case 1488: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgHeader}SessionID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MessageHeaderType->SessionID.bytesLen); if (errn == 0) { errn = (iso2MessageHeaderType->SessionID.bytesLen) <= iso2MessageHeaderType_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2MessageHeaderType->SessionID.bytesLen, iso2MessageHeaderType->SessionID.bytes); } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgHeader}SessionID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1489; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1489: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2SignatureType(stream, &iso2MessageHeaderType->Signature); iso2MessageHeaderType->Signature_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,WPT_EVChargeParameterType', base type name='EVEnergyTransferParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgDataTypes":DepartureTime),("urn:iso:15118:2:2016:MsgDataTypes":EVMaximumPower,"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumPower,"urn:iso:15118:2:2016:MsgDataTypes":EVTargetEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumEnergyRequest{0-1}))', derivedBy='EXTENSION'. */ static int decode_iso2WPT_EVChargeParameterType(bitstream_t* stream, struct iso2WPT_EVChargeParameterType* iso2WPT_EVChargeParameterType) { int grammarID = 1490; int done = 0; init_iso2WPT_EVChargeParameterType(iso2WPT_EVChargeParameterType); while(!done) { switch(grammarID) { case 1490: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger32(stream, &iso2WPT_EVChargeParameterType->DepartureTime); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1491; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1491: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumPower)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMaximumPower); grammarID = 1492; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1492: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumPower)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMinimumPower); grammarID = 1493; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1493: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVTargetEnergyRequest); iso2WPT_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 1u; grammarID = 1494; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMaximumEnergyRequest); iso2WPT_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 1u; grammarID = 1495; break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest); iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 3; break; case 3: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1494: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMaximumEnergyRequest); iso2WPT_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 1u; grammarID = 1495; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest); iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 3; break; case 2: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1495: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest); iso2WPT_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,DisconnectChargingDeviceReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVElectricalChargingDeviceStatus,"urn:iso:15118:2:2016:MsgBody":EVMechanicalChargingDeviceStatus)', derivedBy='EXTENSION'. */ static int decode_iso2DisconnectChargingDeviceReqType(bitstream_t* stream, struct iso2DisconnectChargingDeviceReqType* iso2DisconnectChargingDeviceReqType) { int grammarID = 1496; int done = 0; init_iso2DisconnectChargingDeviceReqType(iso2DisconnectChargingDeviceReqType); while(!done) { switch(grammarID) { case 1496: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); iso2DisconnectChargingDeviceReqType->EVElectricalChargingDeviceStatus = (iso2electricalChargingDeviceStatusType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1497; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1497: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2DisconnectChargingDeviceReqType->EVMechanicalChargingDeviceStatus = (iso2mechanicalChargingDeviceStatusType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,ChargeLoopReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVTargetEnergyRequest,"urn:iso:15118:2:2016:MsgBody":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":DisplayParameters{0-1})', derivedBy='EXTENSION'. */ static int decode_iso2ChargeLoopReqType(bitstream_t* stream, struct iso2ChargeLoopReqType* iso2ChargeLoopReqType) { int grammarID = 1498; int done = 0; init_iso2ChargeLoopReqType(iso2ChargeLoopReqType); while(!done) { switch(grammarID) { case 1498: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2ChargeLoopReqType->EVTargetEnergyRequest); grammarID = 1499; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1499: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2ChargeLoopReqType->EVMaximumEnergyRequest); iso2ChargeLoopReqType->EVMaximumEnergyRequest_isUsed = 1u; grammarID = 1500; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2ChargeLoopReqType->EVMinimumEnergyRequest); iso2ChargeLoopReqType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 1501; break; case 2: errn = decode_iso2DisplayParametersType(stream, &iso2ChargeLoopReqType->DisplayParameters); iso2ChargeLoopReqType->DisplayParameters_isUsed = 1u; grammarID = 3; break; case 3: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1500: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2ChargeLoopReqType->EVMinimumEnergyRequest); iso2ChargeLoopReqType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 1501; break; case 1: errn = decode_iso2DisplayParametersType(stream, &iso2ChargeLoopReqType->DisplayParameters); iso2ChargeLoopReqType->DisplayParameters_isUsed = 1u; grammarID = 3; break; case 2: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1501: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2DisplayParametersType(stream, &iso2ChargeLoopReqType->DisplayParameters); iso2ChargeLoopReqType->DisplayParameters_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,V2GRequestType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ static int decode_iso2V2GRequestType(bitstream_t* stream, struct iso2V2GRequestType* iso2V2GRequestType) { int grammarID = 674; int done = 0; init_iso2V2GRequestType(iso2V2GRequestType); while(!done) { switch(grammarID) { case 674: /* FirstStartTag[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,MeteringReceiptResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ static int decode_iso2MeteringReceiptResType(bitstream_t* stream, struct iso2MeteringReceiptResType* iso2MeteringReceiptResType) { int grammarID = 599; int done = 0; init_iso2MeteringReceiptResType(iso2MeteringReceiptResType); while(!done) { switch(grammarID) { case 599: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2MeteringReceiptResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 600; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 600: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2MeteringReceiptResType->EVSEStatus); iso2MeteringReceiptResType->EVSEStatus_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,SessionSetupResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEID,"urn:iso:15118:2:2016:MsgBody":EVSETimeStamp{0-1}))', derivedBy='EXTENSION'. */ static int decode_iso2SessionSetupResType(bitstream_t* stream, struct iso2SessionSetupResType* iso2SessionSetupResType) { int grammarID = 1502; int done = 0; init_iso2SessionSetupResType(iso2SessionSetupResType); while(!done) { switch(grammarID) { case 1502: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2SessionSetupResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1503; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1503: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2SessionSetupResType->EVSEStatus); iso2SessionSetupResType->EVSEStatus_isUsed = 1u; grammarID = 1504; break; case 1: /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2SessionSetupResType->EVSEID.charactersLen); if (errn == 0) { if (iso2SessionSetupResType->EVSEID.charactersLen >= 2) { iso2SessionSetupResType->EVSEID.charactersLen = (uint16_t)(iso2SessionSetupResType->EVSEID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2SessionSetupResType->EVSEID.charactersLen, iso2SessionSetupResType->EVSEID.characters, iso2SessionSetupResType_EVSEID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1505; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1504: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2SessionSetupResType->EVSEID.charactersLen); if (errn == 0) { if (iso2SessionSetupResType->EVSEID.charactersLen >= 2) { iso2SessionSetupResType->EVSEID.charactersLen = (uint16_t)(iso2SessionSetupResType->EVSEID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2SessionSetupResType->EVSEID.charactersLen, iso2SessionSetupResType->EVSEID.characters, iso2SessionSetupResType_EVSEID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1505; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1505: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger64(stream, &iso2SessionSetupResType->EVSETimeStamp); iso2SessionSetupResType->EVSETimeStamp_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,AC_BidirectionalControlReqType', base type name='ChargeLoopReqType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":EVTargetEnergyRequest,"urn:iso:15118:2:2016:MsgBody":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":DisplayParameters{0-1}),("urn:iso:15118:2:2016:MsgBody":EVOperation{0-1},"urn:iso:15118:2:2016:MsgBody":EVMaximumChargePower,"urn:iso:15118:2:2016:MsgBody":EVMaximumDischargePower{0-1},"urn:iso:15118:2:2016:MsgBody":EVMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgBody":EVMaximumDischargeCurrent{0-1},"urn:iso:15118:2:2016:MsgBody":EVMinimumChargeCurrent,"urn:iso:15118:2:2016:MsgBody":EVMinimumDischargeCurrent{0-1},"urn:iso:15118:2:2016:MsgBody":EVPresentActivePower,"urn:iso:15118:2:2016:MsgBody":EVPresentReactivePower))', derivedBy='EXTENSION'. */ static int decode_iso2AC_BidirectionalControlReqType(bitstream_t* stream, struct iso2AC_BidirectionalControlReqType* iso2AC_BidirectionalControlReqType) { int grammarID = 1506; int done = 0; init_iso2AC_BidirectionalControlReqType(iso2AC_BidirectionalControlReqType); while(!done) { switch(grammarID) { case 1506: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVTargetEnergyRequest); grammarID = 1507; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1507: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumEnergyRequest); iso2AC_BidirectionalControlReqType->EVMaximumEnergyRequest_isUsed = 1u; grammarID = 1508; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumEnergyRequest); iso2AC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 1509; break; case 2: errn = decode_iso2DisplayParametersType(stream, &iso2AC_BidirectionalControlReqType->DisplayParameters); iso2AC_BidirectionalControlReqType->DisplayParameters_isUsed = 1u; grammarID = 1510; break; case 3: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); iso2AC_BidirectionalControlReqType->EVOperation = (iso2EVOperationType) uint32; iso2AC_BidirectionalControlReqType->EVOperation_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1511; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 4: errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower); grammarID = 1512; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1508: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumEnergyRequest); iso2AC_BidirectionalControlReqType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 1509; break; case 1: errn = decode_iso2DisplayParametersType(stream, &iso2AC_BidirectionalControlReqType->DisplayParameters); iso2AC_BidirectionalControlReqType->DisplayParameters_isUsed = 1u; grammarID = 1510; break; case 2: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); iso2AC_BidirectionalControlReqType->EVOperation = (iso2EVOperationType) uint32; iso2AC_BidirectionalControlReqType->EVOperation_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1511; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower); grammarID = 1512; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1509: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2DisplayParametersType(stream, &iso2AC_BidirectionalControlReqType->DisplayParameters); iso2AC_BidirectionalControlReqType->DisplayParameters_isUsed = 1u; grammarID = 1510; break; case 1: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); iso2AC_BidirectionalControlReqType->EVOperation = (iso2EVOperationType) uint32; iso2AC_BidirectionalControlReqType->EVOperation_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1511; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower); grammarID = 1512; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1510: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); iso2AC_BidirectionalControlReqType->EVOperation = (iso2EVOperationType) uint32; iso2AC_BidirectionalControlReqType->EVOperation_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1511; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower); grammarID = 1512; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1511: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargePower); grammarID = 1512; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1512: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumDischargePower); iso2AC_BidirectionalControlReqType->EVMaximumDischargePower_isUsed = 1u; grammarID = 1513; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargeCurrent); grammarID = 1514; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1513: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumChargeCurrent); grammarID = 1514; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1514: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMaximumDischargeCurrent); iso2AC_BidirectionalControlReqType->EVMaximumDischargeCurrent_isUsed = 1u; grammarID = 1515; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumChargeCurrent); grammarID = 1516; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1515: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumChargeCurrent); grammarID = 1516; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1516: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVMinimumDischargeCurrent); iso2AC_BidirectionalControlReqType->EVMinimumDischargeCurrent_isUsed = 1u; grammarID = 1517; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVPresentActivePower); grammarID = 1518; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1517: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVPresentActivePower); grammarID = 1518; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1518: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentReactivePower)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlReqType->EVPresentReactivePower); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MV_EVSEFinePositioningParametersType', base type name='EVSEFinePositioningParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":MagneticVectorList)', derivedBy='EXTENSION'. */ static int decode_iso2MV_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2MV_EVSEFinePositioningParametersType* iso2MV_EVSEFinePositioningParametersType) { int grammarID = 1519; int done = 0; init_iso2MV_EVSEFinePositioningParametersType(iso2MV_EVSEFinePositioningParametersType); while(!done) { switch(grammarID) { case 1519: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorList)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2MagneticVectorListType(stream, &iso2MV_EVSEFinePositioningParametersType->MagneticVectorList); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='http://www.w3.org/2000/09/xmldsig#,ReferenceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":Transforms{0-1},"http://www.w3.org/2000/09/xmldsig#":DigestMethod,"http://www.w3.org/2000/09/xmldsig#":DigestValue)', derivedBy='RESTRICTION'. */ static int decode_iso2ReferenceType(bitstream_t* stream, struct iso2ReferenceType* iso2ReferenceType) { int grammarID = 1520; int done = 0; init_iso2ReferenceType(iso2ReferenceType); while(!done) { switch(grammarID) { case 1520: /* FirstStartTag[ATTRIBUTE[STRING](Id), ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2ReferenceType->Id.charactersLen); if (errn == 0) { if (iso2ReferenceType->Id.charactersLen >= 2) { iso2ReferenceType->Id.charactersLen = (uint16_t)(iso2ReferenceType->Id.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2ReferenceType->Id.charactersLen, iso2ReferenceType->Id.characters, iso2ReferenceType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2ReferenceType->Id_isUsed = 1u; grammarID = 1521; break; case 1: errn = decodeUnsignedInteger16(stream, &iso2ReferenceType->Type.charactersLen); if (errn == 0) { if (iso2ReferenceType->Type.charactersLen >= 2) { iso2ReferenceType->Type.charactersLen = (uint16_t)(iso2ReferenceType->Type.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2ReferenceType->Type.charactersLen, iso2ReferenceType->Type.characters, iso2ReferenceType_Type_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2ReferenceType->Type_isUsed = 1u; grammarID = 1522; break; case 2: errn = decodeUnsignedInteger16(stream, &iso2ReferenceType->URI.charactersLen); if (errn == 0) { if (iso2ReferenceType->URI.charactersLen >= 2) { iso2ReferenceType->URI.charactersLen = (uint16_t)(iso2ReferenceType->URI.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2ReferenceType->URI.charactersLen, iso2ReferenceType->URI.characters, iso2ReferenceType_URI_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2ReferenceType->URI_isUsed = 1u; grammarID = 1523; break; case 3: errn = decode_iso2TransformsType(stream, &iso2ReferenceType->Transforms); iso2ReferenceType->Transforms_isUsed = 1u; grammarID = 1524; break; case 4: errn = decode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod); grammarID = 1525; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1521: /* StartTag[ATTRIBUTE[STRING](Type), ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2ReferenceType->Type.charactersLen); if (errn == 0) { if (iso2ReferenceType->Type.charactersLen >= 2) { iso2ReferenceType->Type.charactersLen = (uint16_t)(iso2ReferenceType->Type.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2ReferenceType->Type.charactersLen, iso2ReferenceType->Type.characters, iso2ReferenceType_Type_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2ReferenceType->Type_isUsed = 1u; grammarID = 1522; break; case 1: errn = decodeUnsignedInteger16(stream, &iso2ReferenceType->URI.charactersLen); if (errn == 0) { if (iso2ReferenceType->URI.charactersLen >= 2) { iso2ReferenceType->URI.charactersLen = (uint16_t)(iso2ReferenceType->URI.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2ReferenceType->URI.charactersLen, iso2ReferenceType->URI.characters, iso2ReferenceType_URI_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2ReferenceType->URI_isUsed = 1u; grammarID = 1523; break; case 2: errn = decode_iso2TransformsType(stream, &iso2ReferenceType->Transforms); iso2ReferenceType->Transforms_isUsed = 1u; grammarID = 1524; break; case 3: errn = decode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod); grammarID = 1525; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1522: /* StartTag[ATTRIBUTE[STRING](URI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2ReferenceType->URI.charactersLen); if (errn == 0) { if (iso2ReferenceType->URI.charactersLen >= 2) { iso2ReferenceType->URI.charactersLen = (uint16_t)(iso2ReferenceType->URI.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2ReferenceType->URI.charactersLen, iso2ReferenceType->URI.characters, iso2ReferenceType_URI_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2ReferenceType->URI_isUsed = 1u; grammarID = 1523; break; case 1: errn = decode_iso2TransformsType(stream, &iso2ReferenceType->Transforms); iso2ReferenceType->Transforms_isUsed = 1u; grammarID = 1524; break; case 2: errn = decode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod); grammarID = 1525; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1523: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2TransformsType(stream, &iso2ReferenceType->Transforms); iso2ReferenceType->Transforms_isUsed = 1u; grammarID = 1524; break; case 1: errn = decode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod); grammarID = 1525; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1524: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2DigestMethodType(stream, &iso2ReferenceType->DigestMethod); grammarID = 1525; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1525: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2ReferenceType->DigestValue.bytesLen); if (errn == 0) { errn = (iso2ReferenceType->DigestValue.bytesLen) <= iso2ReferenceType_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2ReferenceType->DigestValue.bytesLen, iso2ReferenceType->DigestValue.bytes); } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EVSEEnergyTransferParameterType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ static int decode_iso2EVSEEnergyTransferParameterType(bitstream_t* stream, struct iso2EVSEEnergyTransferParameterType* iso2EVSEEnergyTransferParameterType) { int grammarID = 674; int done = 0; init_iso2EVSEEnergyTransferParameterType(iso2EVSEEnergyTransferParameterType); while(!done) { switch(grammarID) { case 674: /* FirstStartTag[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,MeteringReceiptReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":SessionID,"urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2016:MsgBody":MeterInfo)', derivedBy='EXTENSION'. */ static int decode_iso2MeteringReceiptReqType(bitstream_t* stream, struct iso2MeteringReceiptReqType* iso2MeteringReceiptReqType) { int grammarID = 1526; int done = 0; init_iso2MeteringReceiptReqType(iso2MeteringReceiptReqType); while(!done) { switch(grammarID) { case 1526: /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgBody}Id)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2MeteringReceiptReqType->Id.charactersLen); if (errn == 0) { if (iso2MeteringReceiptReqType->Id.charactersLen >= 2) { iso2MeteringReceiptReqType->Id.charactersLen = (uint16_t)(iso2MeteringReceiptReqType->Id.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2MeteringReceiptReqType->Id.charactersLen, iso2MeteringReceiptReqType->Id.characters, iso2MeteringReceiptReqType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } grammarID = 1527; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1527: /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MeteringReceiptReqType->SessionID.bytesLen); if (errn == 0) { errn = (iso2MeteringReceiptReqType->SessionID.bytesLen) <= iso2MeteringReceiptReqType_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2MeteringReceiptReqType->SessionID.bytesLen, iso2MeteringReceiptReqType->SessionID.bytes); } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1528; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1528: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2MeteringReceiptReqType->SAScheduleTupleID = (uint8_t)(uint32 + 1); iso2MeteringReceiptReqType->SAScheduleTupleID_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1529; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: errn = decode_iso2MeterInfoType(stream, &iso2MeteringReceiptReqType->MeterInfo); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1529: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2MeterInfoType(stream, &iso2MeteringReceiptReqType->MeterInfo); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='http://www.w3.org/2000/09/xmldsig#,KeyValueType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":DSAKeyValue|"http://www.w3.org/2000/09/xmldsig#":RSAKeyValue|(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]))', derivedBy='RESTRICTION'. */ static int decode_iso2KeyValueType(bitstream_t* stream, struct iso2KeyValueType* iso2KeyValueType) { int grammarID = 1530; int done = 0; init_iso2KeyValueType(iso2KeyValueType); while(!done) { switch(grammarID) { case 1530: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2DSAKeyValueType(stream, &iso2KeyValueType->DSAKeyValue); iso2KeyValueType->DSAKeyValue_isUsed = 1u; grammarID = 1531; break; case 1: errn = decode_iso2RSAKeyValueType(stream, &iso2KeyValueType->RSAKeyValue); iso2KeyValueType->RSAKeyValue_isUsed = 1u; grammarID = 1531; break; case 2: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 1531; break; case 3: errn = decodeUnsignedInteger16(stream, &iso2KeyValueType->ANY.charactersLen); if (errn == 0) { if (iso2KeyValueType->ANY.charactersLen >= 2) { iso2KeyValueType->ANY.charactersLen = (uint16_t)(iso2KeyValueType->ANY.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2KeyValueType->ANY.charactersLen, iso2KeyValueType->ANY.characters, iso2KeyValueType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2KeyValueType->ANY_isUsed = 1u; grammarID = 1532; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1531: /* Element[END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; case 1: errn = decodeUnsignedInteger16(stream, &iso2KeyValueType->ANY.charactersLen); if (errn == 0) { if (iso2KeyValueType->ANY.charactersLen >= 2) { iso2KeyValueType->ANY.charactersLen = (uint16_t)(iso2KeyValueType->ANY.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2KeyValueType->ANY.charactersLen, iso2KeyValueType->ANY.characters, iso2KeyValueType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2KeyValueType->ANY_isUsed = 1u; grammarID = 1531; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1532: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2DSAKeyValueType(stream, &iso2KeyValueType->DSAKeyValue); iso2KeyValueType->DSAKeyValue_isUsed = 1u; grammarID = 1531; break; case 1: errn = decode_iso2RSAKeyValueType(stream, &iso2KeyValueType->RSAKeyValue); iso2KeyValueType->RSAKeyValue_isUsed = 1u; grammarID = 1531; break; case 2: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 1531; break; case 3: errn = decodeUnsignedInteger16(stream, &iso2KeyValueType->ANY.charactersLen); if (errn == 0) { if (iso2KeyValueType->ANY.charactersLen >= 2) { iso2KeyValueType->ANY.charactersLen = (uint16_t)(iso2KeyValueType->ANY.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2KeyValueType->ANY.charactersLen, iso2KeyValueType->ANY.characters, iso2KeyValueType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2KeyValueType->ANY_isUsed = 1u; grammarID = 1532; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":Sensor{1-255})', derivedBy='RESTRICTION'. */ static int decode_iso2SensorListType(bitstream_t* stream, struct iso2SensorListType* iso2SensorListType) { int grammarID = 1533; int done = 0; init_iso2SensorListType(iso2SensorListType); while(!done) { switch(grammarID) { case 1533: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1534; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1534: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1535; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1535: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1536; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1536: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1537; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1537: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1538; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1538: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1539; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1539: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1540; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1540: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1541; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1541: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1542; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1542: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1543; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1543: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1544; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1544: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1545; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1545: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1546; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1546: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1547; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1547: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1548; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1548: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1549; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1549: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1550; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1550: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1551; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1551: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1552; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1552: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1553; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1553: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1554; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1554: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1555; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1555: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1556; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1556: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1557; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1557: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1558; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1558: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1559; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1559: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1560; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1560: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1561; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1561: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1562; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1562: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1563; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1563: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1564; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1564: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1565; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1565: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1566; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1566: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1567; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1567: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1568; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1568: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1569; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1569: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1570; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1570: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1571; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1571: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1572; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1572: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1573; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1573: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1574; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1574: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1575; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1575: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1576; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1576: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1577; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1577: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1578; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1578: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1579; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1579: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1580; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1580: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1581; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1581: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1582; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1582: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1583; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1583: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1584; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1584: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1585; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1585: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1586; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1586: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1587; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1587: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1588; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1588: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1589; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1589: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1590; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1590: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1591; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1591: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1592; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1592: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1593; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1593: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1594; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1594: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1595; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1595: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1596; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1596: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1597; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1597: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1598; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1598: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1599; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1599: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1600; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1600: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1601; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1601: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1602; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1602: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1603; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1603: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1604; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1604: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1605; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1605: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1606; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1606: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1607; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1607: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1608; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1608: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1609; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1609: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1610; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1610: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1611; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1611: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1612; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1612: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1613; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1613: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1614; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1614: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1615; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1615: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1616; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1616: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1617; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1617: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1618; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1618: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1619; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1619: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1620; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1620: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1621; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1621: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1622; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1622: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1623; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1623: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1624; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1624: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1625; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1625: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1626; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1626: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1627; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1627: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1628; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1628: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1629; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1629: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1630; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1630: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1631; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1631: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1632; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1632: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1633; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1633: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1634; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1634: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1635; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1635: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1636; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1636: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1637; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1637: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1638; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1638: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1639; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1639: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1640; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1640: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1641; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1641: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1642; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1642: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1643; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1643: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1644; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1644: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1645; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1645: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1646; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1646: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1647; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1647: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1648; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1648: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1649; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1649: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1650; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1650: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1651; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1651: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1652; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1652: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1653; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1653: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1654; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1654: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1655; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1655: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1656; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1656: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1657; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1657: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1658; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1658: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1659; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1659: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1660; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1660: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1661; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1661: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1662; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1662: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1663; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1663: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1664; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1664: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1665; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1665: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1666; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1666: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1667; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1667: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1668; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1668: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1669; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1669: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1670; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1670: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1671; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1671: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1672; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1672: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1673; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1673: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1674; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1674: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1675; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1675: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1676; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1676: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1677; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1677: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1678; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1678: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1679; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1679: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1680; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1680: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1681; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1681: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1682; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1682: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1683; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1683: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1684; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1684: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1685; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1685: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1686; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1686: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1687; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1687: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1688; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1688: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1689; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1689: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1690; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1690: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1691; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1691: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1692; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1692: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1693; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1693: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1694; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1694: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1695; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1695: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1696; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1696: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1697; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1697: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1698; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1698: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1699; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1699: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1700; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1700: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1701; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1701: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1702; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1702: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1703; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1703: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1704; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1704: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1705; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1705: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1706; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1706: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1707; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1707: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1708; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1708: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1709; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1709: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1710; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1710: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1711; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1711: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1712; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1712: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1713; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1713: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1714; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1714: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1715; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1715: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1716; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1716: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1717; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1717: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1718; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1718: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1719; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1719: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1720; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1720: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1721; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1721: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1722; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1722: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1723; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1723: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1724; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1724: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1725; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1725: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1726; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1726: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1727; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1727: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1728; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1728: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1729; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1729: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1730; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1730: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1731; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1731: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1732; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1732: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1733; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1733: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1734; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1734: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1735; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1735: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1736; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1736: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1737; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1737: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1738; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1738: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1739; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1739: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1740; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1740: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1741; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1741: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1742; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1742: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1743; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1743: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1744; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1744: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1745; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1745: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1746; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1746: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1747; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1747: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1748; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1748: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1749; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1749: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1750; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1750: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1751; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1751: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1752; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1752: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1753; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1753: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1754; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1754: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1755; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1755: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1756; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1756: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1757; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1757: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1758; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1758: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1759; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1759: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1760; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1760: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1761; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1761: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1762; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1762: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1763; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1763: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1764; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1764: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1765; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1765: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1766; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1766: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1767; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1767: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1768; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1768: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1769; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1769: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1770; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1770: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1771; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1771: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1772; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1772: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1773; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1773: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1774; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1774: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1775; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1775: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1776; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1776: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1777; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1777: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1778; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1778: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1779; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1779: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1780; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1780: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1781; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1781: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1782; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1782: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1783; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1783: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1784; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1784: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1785; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1785: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1786; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1786: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1787; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1787: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorListType->Sensor.arrayLen < iso2SensorListType_Sensor_ARRAY_SIZE) { errn = decode_iso2SensorType(stream, &iso2SensorListType->Sensor.array[iso2SensorListType->Sensor.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,CurrentDemandReqType', base type name='ChargeLoopReqType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":EVTargetEnergyRequest,"urn:iso:15118:2:2016:MsgBody":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":DisplayParameters{0-1}),("urn:iso:15118:2:2016:MsgBody":EVTargetCurrent,"urn:iso:15118:2:2016:MsgBody":EVTargetVoltage,"urn:iso:15118:2:2016:MsgBody":EVMaximumCurrent{0-1},"urn:iso:15118:2:2016:MsgBody":EVMaximumPower{0-1},"urn:iso:15118:2:2016:MsgBody":EVMaximumVoltage{0-1}))', derivedBy='EXTENSION'. */ static int decode_iso2CurrentDemandReqType(bitstream_t* stream, struct iso2CurrentDemandReqType* iso2CurrentDemandReqType) { int grammarID = 1788; int done = 0; init_iso2CurrentDemandReqType(iso2CurrentDemandReqType); while(!done) { switch(grammarID) { case 1788: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetEnergyRequest); grammarID = 1789; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1789: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumEnergyRequest); iso2CurrentDemandReqType->EVMaximumEnergyRequest_isUsed = 1u; grammarID = 1790; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMinimumEnergyRequest); iso2CurrentDemandReqType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 1791; break; case 2: errn = decode_iso2DisplayParametersType(stream, &iso2CurrentDemandReqType->DisplayParameters); iso2CurrentDemandReqType->DisplayParameters_isUsed = 1u; grammarID = 1792; break; case 3: errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetCurrent); grammarID = 1793; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1790: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMinimumEnergyRequest); iso2CurrentDemandReqType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 1791; break; case 1: errn = decode_iso2DisplayParametersType(stream, &iso2CurrentDemandReqType->DisplayParameters); iso2CurrentDemandReqType->DisplayParameters_isUsed = 1u; grammarID = 1792; break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetCurrent); grammarID = 1793; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1791: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2DisplayParametersType(stream, &iso2CurrentDemandReqType->DisplayParameters); iso2CurrentDemandReqType->DisplayParameters_isUsed = 1u; grammarID = 1792; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetCurrent); grammarID = 1793; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1792: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetCurrent); grammarID = 1793; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1793: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVTargetVoltage); grammarID = 1794; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1794: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumCurrent); iso2CurrentDemandReqType->EVMaximumCurrent_isUsed = 1u; grammarID = 1795; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumPower); iso2CurrentDemandReqType->EVMaximumPower_isUsed = 1u; grammarID = 1796; break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumVoltage); iso2CurrentDemandReqType->EVMaximumVoltage_isUsed = 1u; grammarID = 3; break; case 3: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1795: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumPower); iso2CurrentDemandReqType->EVMaximumPower_isUsed = 1u; grammarID = 1796; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumVoltage); iso2CurrentDemandReqType->EVMaximumVoltage_isUsed = 1u; grammarID = 3; break; case 2: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1796: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandReqType->EVMaximumVoltage); iso2CurrentDemandReqType->EVMaximumVoltage_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,FinePositioningSetupReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":EVFinePositioningSetupParameters{0-1})', derivedBy='EXTENSION'. */ static int decode_iso2FinePositioningSetupReqType(bitstream_t* stream, struct iso2FinePositioningSetupReqType* iso2FinePositioningSetupReqType) { int grammarID = 1797; int done = 0; init_iso2FinePositioningSetupReqType(iso2FinePositioningSetupReqType); while(!done) { switch(grammarID) { case 1797: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupReqType->EVFinePositioningSetupParameters); iso2FinePositioningSetupReqType->EVFinePositioningSetupParameters_isUsed = 1u; grammarID = 3; break; case 1: errn = decode_iso2LFA_EVFinePositioningSetupParametersType(stream, &iso2FinePositioningSetupReqType->LFA_EVFinePositioningSetupParameters); iso2FinePositioningSetupReqType->LFA_EVFinePositioningSetupParameters_isUsed = 1u; grammarID = 3; break; case 2: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,LFA_EVFinePositioningSetupParametersType', base type name='EVFinePositioningSetupParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":NumberOfSensors,"urn:iso:15118:2:2016:MsgDataTypes":SensorList,"urn:iso:15118:2:2016:MsgDataTypes":SensorOrder,"urn:iso:15118:2:2016:MsgDataTypes":SignalPulseDuration,"urn:iso:15118:2:2016:MsgDataTypes":SignalSeparationTime,"urn:iso:15118:2:2016:MsgDataTypes":PackageSeparationTime,"urn:iso:15118:2:2016:MsgDataTypes":AlignmentOffset)', derivedBy='EXTENSION'. */ static int decode_iso2LFA_EVFinePositioningSetupParametersType(bitstream_t* stream, struct iso2LFA_EVFinePositioningSetupParametersType* iso2LFA_EVFinePositioningSetupParametersType) { int grammarID = 1798; int done = 0; init_iso2LFA_EVFinePositioningSetupParametersType(iso2LFA_EVFinePositioningSetupParametersType); while(!done) { switch(grammarID) { case 1798: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2LFA_EVFinePositioningSetupParametersType->NumberOfSensors = (uint8_t)(uint32 + 0); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1799; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1799: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2SensorListType(stream, &iso2LFA_EVFinePositioningSetupParametersType->SensorList); grammarID = 1800; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1800: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2SensorOrderListType(stream, &iso2LFA_EVFinePositioningSetupParametersType->SensorOrder); grammarID = 1801; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1801: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2LFA_EVFinePositioningSetupParametersType->SignalPulseDuration = (uint8_t)(uint32 + 0); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1802; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1802: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2LFA_EVFinePositioningSetupParametersType->SignalSeparationTime = (uint8_t)(uint32 + 0); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1803; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1803: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageSeparationTime)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2LFA_EVFinePositioningSetupParametersType->PackageSeparationTime = (uint8_t)(uint32 + 0); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageSeparationTime) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1804; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1804: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2LFA_EVFinePositioningSetupParametersType->AlignmentOffset); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SAScheduleTupleType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SAScheduleTupleID,"urn:iso:15118:2:2016:MsgDataTypes":PMaxSchedule,"urn:iso:15118:2:2016:MsgDataTypes":PMaxDischargeSchedule{0-1},"urn:iso:15118:2:2016:MsgDataTypes":SalesTariff{0-1},"urn:iso:15118:2:2016:MsgDataTypes":BuyBackTariff{0-1})', derivedBy='RESTRICTION'. */ static int decode_iso2SAScheduleTupleType(bitstream_t* stream, struct iso2SAScheduleTupleType* iso2SAScheduleTupleType) { int grammarID = 1805; int done = 0; init_iso2SAScheduleTupleType(iso2SAScheduleTupleType); while(!done) { switch(grammarID) { case 1805: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTupleID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SAScheduleTupleType->SAScheduleTupleID = (uint8_t)(uint32 + 1); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTupleID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1806; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1806: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxSchedule)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PMaxScheduleType(stream, &iso2SAScheduleTupleType->PMaxSchedule); grammarID = 1807; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1807: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxDischargeSchedule), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariff), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PMaxScheduleType(stream, &iso2SAScheduleTupleType->PMaxDischargeSchedule); iso2SAScheduleTupleType->PMaxDischargeSchedule_isUsed = 1u; grammarID = 1808; break; case 1: errn = decode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->SalesTariff); iso2SAScheduleTupleType->SalesTariff_isUsed = 1u; grammarID = 1809; break; case 2: errn = decode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->BuyBackTariff); iso2SAScheduleTupleType->BuyBackTariff_isUsed = 1u; grammarID = 3; break; case 3: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1808: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariff), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->SalesTariff); iso2SAScheduleTupleType->SalesTariff_isUsed = 1u; grammarID = 1809; break; case 1: errn = decode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->BuyBackTariff); iso2SAScheduleTupleType->BuyBackTariff_isUsed = 1u; grammarID = 3; break; case 2: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1809: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2SalesTariffType(stream, &iso2SAScheduleTupleType->BuyBackTariff); iso2SAScheduleTupleType->BuyBackTariff_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,WPT_EVSEChargeParameterType', base type name='EVSEEnergyTransferParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumPower,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMinimumPower)', derivedBy='EXTENSION'. */ static int decode_iso2WPT_EVSEChargeParameterType(bitstream_t* stream, struct iso2WPT_EVSEChargeParameterType* iso2WPT_EVSEChargeParameterType) { int grammarID = 1810; int done = 0; init_iso2WPT_EVSEChargeParameterType(iso2WPT_EVSEChargeParameterType); while(!done) { switch(grammarID) { case 1810: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumPower)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVSEChargeParameterType->EVSEMaximumPower); grammarID = 1811; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1811: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumPower)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2WPT_EVSEChargeParameterType->EVSEMinimumPower); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,FinePositioningResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing,"urn:iso:15118:2:2016:MsgDataTypes":EVSEFinePositioningParameters{0-1}))', derivedBy='EXTENSION'. */ static int decode_iso2FinePositioningResType(bitstream_t* stream, struct iso2FinePositioningResType* iso2FinePositioningResType) { int grammarID = 1812; int done = 0; init_iso2FinePositioningResType(iso2FinePositioningResType); while(!done) { switch(grammarID) { case 1812: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2FinePositioningResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1813; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1813: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2FinePositioningResType->EVSEStatus); iso2FinePositioningResType->EVSEStatus_isUsed = 1u; grammarID = 1814; break; case 1: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2FinePositioningResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1815; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1814: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2FinePositioningResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1815; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1815: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEFinePositioningParametersType(stream, &iso2FinePositioningResType->EVSEFinePositioningParameters); iso2FinePositioningResType->EVSEFinePositioningParameters_isUsed = 1u; grammarID = 3; break; case 1: errn = decode_iso2Generic_EVSEFinePositioningParametersType(stream, &iso2FinePositioningResType->Generic_EVSEFinePositioningParameters); iso2FinePositioningResType->Generic_EVSEFinePositioningParameters_isUsed = 1u; grammarID = 3; break; case 2: errn = decode_iso2LFA_EVSEFinePositioningParametersType(stream, &iso2FinePositioningResType->LFA_EVSEFinePositioningParameters); iso2FinePositioningResType->LFA_EVSEFinePositioningParameters_isUsed = 1u; grammarID = 3; break; case 3: errn = decode_iso2MV_EVSEFinePositioningParametersType(stream, &iso2FinePositioningResType->MV_EVSEFinePositioningParameters); iso2FinePositioningResType->MV_EVSEFinePositioningParameters_isUsed = 1u; grammarID = 3; break; case 4: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,BodyBaseType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ static int decode_iso2BodyBaseType(bitstream_t* stream, struct iso2BodyBaseType* iso2BodyBaseType) { int grammarID = 674; int done = 0; init_iso2BodyBaseType(iso2BodyBaseType); while(!done) { switch(grammarID) { case 674: /* FirstStartTag[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,ServiceDetailResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":ServiceID,"urn:iso:15118:2:2016:MsgBody":ServiceParameterList{0-1}))', derivedBy='EXTENSION'. */ static int decode_iso2ServiceDetailResType(bitstream_t* stream, struct iso2ServiceDetailResType* iso2ServiceDetailResType) { int grammarID = 1816; int done = 0; init_iso2ServiceDetailResType(iso2ServiceDetailResType); while(!done) { switch(grammarID) { case 1816: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2ServiceDetailResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1817; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1817: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2ServiceDetailResType->EVSEStatus); iso2ServiceDetailResType->EVSEStatus_isUsed = 1u; grammarID = 1818; break; case 1: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2ServiceDetailResType->ServiceID); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1819; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1818: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2ServiceDetailResType->ServiceID); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1819; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1819: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceParameterList), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2ServiceParameterListType(stream, &iso2ServiceDetailResType->ServiceParameterList); iso2ServiceDetailResType->ServiceParameterList_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,PowerDeliveryReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ChargeProgress,"urn:iso:15118:2:2016:MsgBody":EVOperation{0-1},"urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2016:MsgBody":ChargingProfile{0-1})', derivedBy='EXTENSION'. */ static int decode_iso2PowerDeliveryReqType(bitstream_t* stream, struct iso2PowerDeliveryReqType* iso2PowerDeliveryReqType) { int grammarID = 1820; int done = 0; init_iso2PowerDeliveryReqType(iso2PowerDeliveryReqType); while(!done) { switch(grammarID) { case 1820: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeProgress)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2PowerDeliveryReqType->ChargeProgress = (iso2chargeProgressType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeProgress) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1821; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1821: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); iso2PowerDeliveryReqType->EVOperation = (iso2EVOperationType) uint32; iso2PowerDeliveryReqType->EVOperation_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1822; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2PowerDeliveryReqType->SAScheduleTupleID = (uint8_t)(uint32 + 1); iso2PowerDeliveryReqType->SAScheduleTupleID_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1823; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: errn = decode_iso2ChargingProfileType(stream, &iso2PowerDeliveryReqType->ChargingProfile); iso2PowerDeliveryReqType->ChargingProfile_isUsed = 1u; grammarID = 3; break; case 3: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1822: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2PowerDeliveryReqType->SAScheduleTupleID = (uint8_t)(uint32 + 1); iso2PowerDeliveryReqType->SAScheduleTupleID_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1823; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: errn = decode_iso2ChargingProfileType(stream, &iso2PowerDeliveryReqType->ChargingProfile); iso2PowerDeliveryReqType->ChargingProfile_isUsed = 1u; grammarID = 3; break; case 2: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1823: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2ChargingProfileType(stream, &iso2PowerDeliveryReqType->ChargingProfile); iso2PowerDeliveryReqType->ChargingProfile_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,PairingResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing,"urn:iso:15118:2:2016:MsgBody":PairingParameters{0-1}))', derivedBy='EXTENSION'. */ static int decode_iso2PairingResType(bitstream_t* stream, struct iso2PairingResType* iso2PairingResType) { int grammarID = 1824; int done = 0; init_iso2PairingResType(iso2PairingResType); while(!done) { switch(grammarID) { case 1824: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2PairingResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1825; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1825: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2PairingResType->EVSEStatus); iso2PairingResType->EVSEStatus_isUsed = 1u; grammarID = 1826; break; case 1: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2PairingResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1827; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1826: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2PairingResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1827; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1827: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingParameters), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2ParameterSetType(stream, &iso2PairingResType->PairingParameters); iso2PairingResType->PairingParameters_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,AuthorizationReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":GenChallenge{0-1})', derivedBy='EXTENSION'. */ static int decode_iso2AuthorizationReqType(bitstream_t* stream, struct iso2AuthorizationReqType* iso2AuthorizationReqType) { int grammarID = 1828; int done = 0; init_iso2AuthorizationReqType(iso2AuthorizationReqType); while(!done) { switch(grammarID) { case 1828: /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgBody}Id), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2AuthorizationReqType->Id.charactersLen); if (errn == 0) { if (iso2AuthorizationReqType->Id.charactersLen >= 2) { iso2AuthorizationReqType->Id.charactersLen = (uint16_t)(iso2AuthorizationReqType->Id.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2AuthorizationReqType->Id.charactersLen, iso2AuthorizationReqType->Id.characters, iso2AuthorizationReqType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2AuthorizationReqType->Id_isUsed = 1u; grammarID = 1829; break; case 1: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2AuthorizationReqType->GenChallenge.bytesLen); if (errn == 0) { errn = (iso2AuthorizationReqType->GenChallenge.bytesLen) <= iso2AuthorizationReqType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2AuthorizationReqType->GenChallenge.bytesLen, iso2AuthorizationReqType->GenChallenge.bytes); } iso2AuthorizationReqType->GenChallenge_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1829: /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2AuthorizationReqType->GenChallenge.bytesLen); if (errn == 0) { errn = (iso2AuthorizationReqType->GenChallenge.bytesLen) <= iso2AuthorizationReqType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2AuthorizationReqType->GenChallenge.bytesLen, iso2AuthorizationReqType->GenChallenge.bytes); } iso2AuthorizationReqType->GenChallenge_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ParameterSetType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":ParameterSetID,"urn:iso:15118:2:2016:MsgDataTypes":Parameter{1-16})', derivedBy='RESTRICTION'. */ static int decode_iso2ParameterSetType(bitstream_t* stream, struct iso2ParameterSetType* iso2ParameterSetType) { int grammarID = 1830; int done = 0; init_iso2ParameterSetType(iso2ParameterSetType); while(!done) { switch(grammarID) { case 1830: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2ParameterSetType->ParameterSetID); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1831; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1831: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1832; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1832: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1833; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1833: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1834; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1834: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1835; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1835: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1836; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1836: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1837; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1837: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1838; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1838: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1839; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1839: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1840; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1840: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1841; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1841: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1842; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1842: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1843; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1843: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1844; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1844: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1845; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1845: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1846; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1846: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ParameterSetType->Parameter.arrayLen < iso2ParameterSetType_Parameter_ARRAY_SIZE) { errn = decode_iso2ParameterType(stream, &iso2ParameterSetType->Parameter.array[iso2ParameterSetType->Parameter.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='http://www.w3.org/2000/09/xmldsig#,SPKIDataType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":SPKISexp,(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-1}){1-UNBOUNDED}', derivedBy='RESTRICTION'. */ static int decode_iso2SPKIDataType(bitstream_t* stream, struct iso2SPKIDataType* iso2SPKIDataType) { int grammarID = 1847; int done = 0; init_iso2SPKIDataType(iso2SPKIDataType); while(!done) { switch(grammarID) { case 1847: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SPKIDataType->SPKISexp.arrayLen < iso2SPKIDataType_SPKISexp_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen); if (errn == 0) { errn = (iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen) <= iso2SPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytes); } iso2SPKIDataType->SPKISexp.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1848; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1848: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT_GENERIC, END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SPKIDataType->SPKISexp.arrayLen < iso2SPKIDataType_SPKISexp_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen); if (errn == 0) { errn = (iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen) <= iso2SPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytes); } iso2SPKIDataType->SPKISexp.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1848; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 1849; break; case 2: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1849: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SPKIDataType->SPKISexp.arrayLen < iso2SPKIDataType_SPKISexp_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen); if (errn == 0) { errn = (iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen) <= iso2SPKIDataType_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytesLen, iso2SPKIDataType->SPKISexp.array[iso2SPKIDataType->SPKISexp.arrayLen].bytes); } iso2SPKIDataType->SPKISexp.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1848; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,PaymentDetailsResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":GenChallenge,"urn:iso:15118:2:2016:MsgBody":EVSETimeStamp))', derivedBy='EXTENSION'. */ static int decode_iso2PaymentDetailsResType(bitstream_t* stream, struct iso2PaymentDetailsResType* iso2PaymentDetailsResType) { int grammarID = 1850; int done = 0; init_iso2PaymentDetailsResType(iso2PaymentDetailsResType); while(!done) { switch(grammarID) { case 1850: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2PaymentDetailsResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1851; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1851: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2PaymentDetailsResType->EVSEStatus); iso2PaymentDetailsResType->EVSEStatus_isUsed = 1u; grammarID = 1852; break; case 1: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2PaymentDetailsResType->GenChallenge.bytesLen); if (errn == 0) { errn = (iso2PaymentDetailsResType->GenChallenge.bytesLen) <= iso2PaymentDetailsResType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2PaymentDetailsResType->GenChallenge.bytesLen, iso2PaymentDetailsResType->GenChallenge.bytes); } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1853; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1852: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2PaymentDetailsResType->GenChallenge.bytesLen); if (errn == 0) { errn = (iso2PaymentDetailsResType->GenChallenge.bytesLen) <= iso2PaymentDetailsResType_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2PaymentDetailsResType->GenChallenge.bytesLen, iso2PaymentDetailsResType->GenChallenge.bytes); } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1853; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1853: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger64(stream, &iso2PaymentDetailsResType->EVSETimeStamp); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignatureMethodType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":HMACOutputLength{0-1},(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})', derivedBy='RESTRICTION'. */ static int decode_iso2SignatureMethodType(bitstream_t* stream, struct iso2SignatureMethodType* iso2SignatureMethodType) { int grammarID = 1854; int done = 0; init_iso2SignatureMethodType(iso2SignatureMethodType); while(!done) { switch(grammarID) { case 1854: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2SignatureMethodType->Algorithm.charactersLen); if (errn == 0) { if (iso2SignatureMethodType->Algorithm.charactersLen >= 2) { iso2SignatureMethodType->Algorithm.charactersLen = (uint16_t)(iso2SignatureMethodType->Algorithm.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2SignatureMethodType->Algorithm.charactersLen, iso2SignatureMethodType->Algorithm.characters, iso2SignatureMethodType_Algorithm_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } grammarID = 1855; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1855: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger64(stream, &iso2SignatureMethodType->HMACOutputLength); iso2SignatureMethodType->HMACOutputLength_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 685; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 685; break; case 2: done = 1; grammarID = 4; break; case 3: errn = decodeUnsignedInteger16(stream, &iso2SignatureMethodType->ANY.charactersLen); if (errn == 0) { if (iso2SignatureMethodType->ANY.charactersLen >= 2) { iso2SignatureMethodType->ANY.charactersLen = (uint16_t)(iso2SignatureMethodType->ANY.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2SignatureMethodType->ANY.charactersLen, iso2SignatureMethodType->ANY.characters, iso2SignatureMethodType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2SignatureMethodType->ANY_isUsed = 1u; grammarID = 1856; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 685: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 685; break; case 1: done = 1; grammarID = 4; break; case 2: errn = decodeUnsignedInteger16(stream, &iso2SignatureMethodType->ANY.charactersLen); if (errn == 0) { if (iso2SignatureMethodType->ANY.charactersLen >= 2) { iso2SignatureMethodType->ANY.charactersLen = (uint16_t)(iso2SignatureMethodType->ANY.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2SignatureMethodType->ANY.charactersLen, iso2SignatureMethodType->ANY.characters, iso2SignatureMethodType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2SignatureMethodType->ANY_isUsed = 1u; grammarID = 685; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1856: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger64(stream, &iso2SignatureMethodType->HMACOutputLength); iso2SignatureMethodType->HMACOutputLength_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 685; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 685; break; case 2: done = 1; grammarID = 4; break; case 3: errn = decodeUnsignedInteger16(stream, &iso2SignatureMethodType->ANY.charactersLen); if (errn == 0) { if (iso2SignatureMethodType->ANY.charactersLen >= 2) { iso2SignatureMethodType->ANY.charactersLen = (uint16_t)(iso2SignatureMethodType->ANY.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2SignatureMethodType->ANY.charactersLen, iso2SignatureMethodType->ANY.characters, iso2SignatureMethodType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2SignatureMethodType->ANY_isUsed = 1u; grammarID = 1856; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,AC_BidirectionalControlResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing,"urn:iso:15118:2:2016:MsgBody":EVSETargetPower,"urn:iso:15118:2:2016:MsgBody":EVSETargetReactivePower,"urn:iso:15118:2:2016:MsgBody":EVSEID,"urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2016:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2016:MsgBody":ReceiptRequired{0-1}))', derivedBy='EXTENSION'. */ static int decode_iso2AC_BidirectionalControlResType(bitstream_t* stream, struct iso2AC_BidirectionalControlResType* iso2AC_BidirectionalControlResType) { int grammarID = 1857; int done = 0; init_iso2AC_BidirectionalControlResType(iso2AC_BidirectionalControlResType); while(!done) { switch(grammarID) { case 1857: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2AC_BidirectionalControlResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1858; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1858: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2AC_BidirectionalControlResType->EVSEStatus); iso2AC_BidirectionalControlResType->EVSEStatus_isUsed = 1u; grammarID = 1859; break; case 1: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2AC_BidirectionalControlResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1860; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1859: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2AC_BidirectionalControlResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1860; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1860: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlResType->EVSETargetPower); grammarID = 1861; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1861: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetReactivePower)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_BidirectionalControlResType->EVSETargetReactivePower); grammarID = 27; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 27: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2AC_BidirectionalControlResType->EVSEID.charactersLen); if (errn == 0) { if (iso2AC_BidirectionalControlResType->EVSEID.charactersLen >= 2) { iso2AC_BidirectionalControlResType->EVSEID.charactersLen = (uint16_t)(iso2AC_BidirectionalControlResType->EVSEID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2AC_BidirectionalControlResType->EVSEID.charactersLen, iso2AC_BidirectionalControlResType->EVSEID.characters, iso2AC_BidirectionalControlResType_EVSEID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 28; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 28: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2AC_BidirectionalControlResType->SAScheduleTupleID = (uint8_t)(uint32 + 1); iso2AC_BidirectionalControlResType->SAScheduleTupleID_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 29; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: errn = decode_iso2MeterInfoType(stream, &iso2AC_BidirectionalControlResType->MeterInfo); iso2AC_BidirectionalControlResType->MeterInfo_isUsed = 1u; grammarID = 30; break; case 2: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2AC_BidirectionalControlResType->ReceiptRequired); iso2AC_BidirectionalControlResType->ReceiptRequired_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 29: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2MeterInfoType(stream, &iso2AC_BidirectionalControlResType->MeterInfo); iso2AC_BidirectionalControlResType->MeterInfo_isUsed = 1u; grammarID = 30; break; case 1: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2AC_BidirectionalControlResType->ReceiptRequired); iso2AC_BidirectionalControlResType->ReceiptRequired_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 30: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2AC_BidirectionalControlResType->ReceiptRequired); iso2AC_BidirectionalControlResType->ReceiptRequired_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,VehicleCheckOutReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVCheckOutStatus,"urn:iso:15118:2:2016:MsgBody":CheckOutTime)', derivedBy='EXTENSION'. */ static int decode_iso2VehicleCheckOutReqType(bitstream_t* stream, struct iso2VehicleCheckOutReqType* iso2VehicleCheckOutReqType) { int grammarID = 1862; int done = 0; init_iso2VehicleCheckOutReqType(iso2VehicleCheckOutReqType); while(!done) { switch(grammarID) { case 1862: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckOutStatus)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2VehicleCheckOutReqType->EVCheckOutStatus = (iso2EVCheckOutStatusType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckOutStatus) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1863; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1863: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CheckOutTime)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger64(stream, &iso2VehicleCheckOutReqType->CheckOutTime); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CheckOutTime) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,WeldingDetectionReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ static int decode_iso2WeldingDetectionReqType(bitstream_t* stream, struct iso2WeldingDetectionReqType* iso2WeldingDetectionReqType) { int grammarID = 674; int done = 0; init_iso2WeldingDetectionReqType(iso2WeldingDetectionReqType); while(!done) { switch(grammarID) { case 674: /* FirstStartTag[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,AlignmentCheckResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing,"urn:iso:15118:2:2016:MsgBody":AlignmentCheckParameters{0-1}))', derivedBy='EXTENSION'. */ static int decode_iso2AlignmentCheckResType(bitstream_t* stream, struct iso2AlignmentCheckResType* iso2AlignmentCheckResType) { int grammarID = 1864; int done = 0; init_iso2AlignmentCheckResType(iso2AlignmentCheckResType); while(!done) { switch(grammarID) { case 1864: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2AlignmentCheckResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1865; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1865: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2AlignmentCheckResType->EVSEStatus); iso2AlignmentCheckResType->EVSEStatus_isUsed = 1u; grammarID = 1866; break; case 1: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2AlignmentCheckResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 676; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1866: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2AlignmentCheckResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 676; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 676: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckParameters), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2ParameterSetType(stream, &iso2AlignmentCheckResType->AlignmentCheckParameters); iso2AlignmentCheckResType->AlignmentCheckParameters_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,PowerDemandReqType', base type name='ChargeLoopReqType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":EVTargetEnergyRequest,"urn:iso:15118:2:2016:MsgBody":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":DisplayParameters{0-1}),("urn:iso:15118:2:2016:MsgBody":EVTargetPower,"urn:iso:15118:2:2016:MsgBody":EVInputPower,"urn:iso:15118:2:2016:MsgBody":PowerDemandParameters{0-1}))', derivedBy='EXTENSION'. */ static int decode_iso2PowerDemandReqType(bitstream_t* stream, struct iso2PowerDemandReqType* iso2PowerDemandReqType) { int grammarID = 1867; int done = 0; init_iso2PowerDemandReqType(iso2PowerDemandReqType); while(!done) { switch(grammarID) { case 1867: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetEnergyRequest); grammarID = 1868; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1868: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVMaximumEnergyRequest); iso2PowerDemandReqType->EVMaximumEnergyRequest_isUsed = 1u; grammarID = 1869; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVMinimumEnergyRequest); iso2PowerDemandReqType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 1870; break; case 2: errn = decode_iso2DisplayParametersType(stream, &iso2PowerDemandReqType->DisplayParameters); iso2PowerDemandReqType->DisplayParameters_isUsed = 1u; grammarID = 1871; break; case 3: errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetPower); grammarID = 1872; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1869: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVMinimumEnergyRequest); iso2PowerDemandReqType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 1870; break; case 1: errn = decode_iso2DisplayParametersType(stream, &iso2PowerDemandReqType->DisplayParameters); iso2PowerDemandReqType->DisplayParameters_isUsed = 1u; grammarID = 1871; break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetPower); grammarID = 1872; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1870: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2DisplayParametersType(stream, &iso2PowerDemandReqType->DisplayParameters); iso2PowerDemandReqType->DisplayParameters_isUsed = 1u; grammarID = 1871; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetPower); grammarID = 1872; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1871: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVTargetPower); grammarID = 1872; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1872: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVInputPower)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandReqType->EVInputPower); grammarID = 1873; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1873: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2ParameterSetType(stream, &iso2PowerDemandReqType->PowerDemandParameters); iso2PowerDemandReqType->PowerDemandParameters_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MinimumPMaxRequestType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":MinimumPMaxScheduleEntry{1-3})', derivedBy='RESTRICTION'. */ static int decode_iso2MinimumPMaxRequestType(bitstream_t* stream, struct iso2MinimumPMaxRequestType* iso2MinimumPMaxRequestType) { int grammarID = 1874; int done = 0; init_iso2MinimumPMaxRequestType(iso2MinimumPMaxRequestType); while(!done) { switch(grammarID) { case 1874: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen < iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_ARRAY_SIZE) { errn = decode_iso2PMaxScheduleEntryType(stream, &iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.array[iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1875; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1875: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen < iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_ARRAY_SIZE) { errn = decode_iso2PMaxScheduleEntryType(stream, &iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.array[iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1876; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1876: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen < iso2MinimumPMaxRequestType_MinimumPMaxScheduleEntry_ARRAY_SIZE) { errn = decode_iso2PMaxScheduleEntryType(stream, &iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.array[iso2MinimumPMaxRequestType->MinimumPMaxScheduleEntry.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,DisconnectChargingDeviceResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing,"urn:iso:15118:2:2016:MsgBody":EVSEElectricalChargingDeviceStatus,"urn:iso:15118:2:2016:MsgBody":EVSEMechanicalChargingDeviceStatus))', derivedBy='EXTENSION'. */ static int decode_iso2DisconnectChargingDeviceResType(bitstream_t* stream, struct iso2DisconnectChargingDeviceResType* iso2DisconnectChargingDeviceResType) { int grammarID = 591; int done = 0; init_iso2DisconnectChargingDeviceResType(iso2DisconnectChargingDeviceResType); while(!done) { switch(grammarID) { case 591: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2DisconnectChargingDeviceResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 592; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 592: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2DisconnectChargingDeviceResType->EVSEStatus); iso2DisconnectChargingDeviceResType->EVSEStatus_isUsed = 1u; grammarID = 593; break; case 1: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2DisconnectChargingDeviceResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 594; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 593: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2DisconnectChargingDeviceResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 594; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 594: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); iso2DisconnectChargingDeviceResType->EVSEElectricalChargingDeviceStatus = (iso2electricalChargingDeviceStatusType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 595; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 595: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2DisconnectChargingDeviceResType->EVSEMechanicalChargingDeviceStatus = (iso2mechanicalChargingDeviceStatusType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,SessionSetupReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVCCID)', derivedBy='EXTENSION'. */ static int decode_iso2SessionSetupReqType(bitstream_t* stream, struct iso2SessionSetupReqType* iso2SessionSetupReqType) { int grammarID = 1877; int done = 0; init_iso2SessionSetupReqType(iso2SessionSetupReqType); while(!done) { switch(grammarID) { case 1877: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCCID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2SessionSetupReqType->EVCCID.bytesLen); if (errn == 0) { errn = (iso2SessionSetupReqType->EVCCID.bytesLen) <= iso2SessionSetupReqType_EVCCID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2SessionSetupReqType->EVCCID.bytesLen, iso2SessionSetupReqType->EVCCID.bytes); } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCCID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,PaymentDetailsReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":eMAID,"urn:iso:15118:2:2016:MsgBody":ContractSignatureCertChain)', derivedBy='EXTENSION'. */ static int decode_iso2PaymentDetailsReqType(bitstream_t* stream, struct iso2PaymentDetailsReqType* iso2PaymentDetailsReqType) { int grammarID = 1878; int done = 0; init_iso2PaymentDetailsReqType(iso2PaymentDetailsReqType); while(!done) { switch(grammarID) { case 1878: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2PaymentDetailsReqType->eMAID.charactersLen); if (errn == 0) { if (iso2PaymentDetailsReqType->eMAID.charactersLen >= 2) { iso2PaymentDetailsReqType->eMAID.charactersLen = (uint16_t)(iso2PaymentDetailsReqType->eMAID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2PaymentDetailsReqType->eMAID.charactersLen, iso2PaymentDetailsReqType->eMAID.characters, iso2PaymentDetailsReqType_eMAID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1879; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1879: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2CertificateChainType(stream, &iso2PaymentDetailsReqType->ContractSignatureCertChain); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,Generic_EVFinePositioningParametersType', base type name='EVFinePositioningParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":GenericParameters)', derivedBy='EXTENSION'. */ static int decode_iso2Generic_EVFinePositioningParametersType(bitstream_t* stream, struct iso2Generic_EVFinePositioningParametersType* iso2Generic_EVFinePositioningParametersType) { int grammarID = 1880; int done = 0; init_iso2Generic_EVFinePositioningParametersType(iso2Generic_EVFinePositioningParametersType); while(!done) { switch(grammarID) { case 1880: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2ParameterSetType(stream, &iso2Generic_EVFinePositioningParametersType->GenericParameters); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,ConnectChargingDeviceReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVElectricalChargingDeviceStatus,"urn:iso:15118:2:2016:MsgBody":EVMechanicalChargingDeviceStatus)', derivedBy='EXTENSION'. */ static int decode_iso2ConnectChargingDeviceReqType(bitstream_t* stream, struct iso2ConnectChargingDeviceReqType* iso2ConnectChargingDeviceReqType) { int grammarID = 1496; int done = 0; init_iso2ConnectChargingDeviceReqType(iso2ConnectChargingDeviceReqType); while(!done) { switch(grammarID) { case 1496: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); iso2ConnectChargingDeviceReqType->EVElectricalChargingDeviceStatus = (iso2electricalChargingDeviceStatusType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1497; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1497: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2ConnectChargingDeviceReqType->EVMechanicalChargingDeviceStatus = (iso2mechanicalChargingDeviceStatusType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,AC_EVSEChargeParameterType', base type name='EVSEEnergyTransferParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVSENominalVoltage,"urn:iso:15118:2:2016:MsgDataTypes":EVSENominalFrequency)', derivedBy='EXTENSION'. */ static int decode_iso2AC_EVSEChargeParameterType(bitstream_t* stream, struct iso2AC_EVSEChargeParameterType* iso2AC_EVSEChargeParameterType) { int grammarID = 1881; int done = 0; init_iso2AC_EVSEChargeParameterType(iso2AC_EVSEChargeParameterType); while(!done) { switch(grammarID) { case 1881: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVSEChargeParameterType->EVSEMaximumChargeCurrent); grammarID = 1882; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1882: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVSEChargeParameterType->EVSENominalVoltage); grammarID = 58; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 58: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2AC_EVSEChargeParameterType->EVSENominalFrequency); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SalesTariffEntryType', base type name='EntryType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgDataTypes":RelativeTimeInterval),("urn:iso:15118:2:2016:MsgDataTypes":EPriceLevel{0-1},"urn:iso:15118:2:2016:MsgDataTypes":ConsumptionCost{0-3}))', derivedBy='EXTENSION'. */ static int decode_iso2SalesTariffEntryType(bitstream_t* stream, struct iso2SalesTariffEntryType* iso2SalesTariffEntryType) { int grammarID = 1883; int done = 0; init_iso2SalesTariffEntryType(iso2SalesTariffEntryType); while(!done) { switch(grammarID) { case 1883: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2RelativeTimeIntervalType(stream, &iso2SalesTariffEntryType->RelativeTimeInterval); grammarID = 1884; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1884: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EPriceLevel), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SalesTariffEntryType->EPriceLevel = (uint8_t)(uint32 + 0); iso2SalesTariffEntryType->EPriceLevel_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EPriceLevel) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1885; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: if (iso2SalesTariffEntryType->ConsumptionCost.arrayLen < iso2SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { errn = decode_iso2ConsumptionCostType(stream, &iso2SalesTariffEntryType->ConsumptionCost.array[iso2SalesTariffEntryType->ConsumptionCost.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1886; break; case 2: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1885: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SalesTariffEntryType->ConsumptionCost.arrayLen < iso2SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { errn = decode_iso2ConsumptionCostType(stream, &iso2SalesTariffEntryType->ConsumptionCost.array[iso2SalesTariffEntryType->ConsumptionCost.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1886; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1886: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SalesTariffEntryType->ConsumptionCost.arrayLen < iso2SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { errn = decode_iso2ConsumptionCostType(stream, &iso2SalesTariffEntryType->ConsumptionCost.array[iso2SalesTariffEntryType->ConsumptionCost.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1887; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1887: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SalesTariffEntryType->ConsumptionCost.arrayLen < iso2SalesTariffEntryType_ConsumptionCost_ARRAY_SIZE) { errn = decode_iso2ConsumptionCostType(stream, &iso2SalesTariffEntryType->ConsumptionCost.array[iso2SalesTariffEntryType->ConsumptionCost.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,DC_EVSEBidirectionalParameterType', base type name='DC_EVSEChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumChargePower,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMinimumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumVoltage,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMinimumVoltage,"urn:iso:15118:2:2016:MsgDataTypes":EVSECurrentRegulationTolerance{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVSEPeakCurrentRipple,"urn:iso:15118:2:2016:MsgDataTypes":EVSEEnergyToBeDelivered{0-1}),("urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumDischargePower,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMaximumDischargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVSEMinimumDischargeCurrent))', derivedBy='EXTENSION'. */ static int decode_iso2DC_EVSEBidirectionalParameterType(bitstream_t* stream, struct iso2DC_EVSEBidirectionalParameterType* iso2DC_EVSEBidirectionalParameterType) { int grammarID = 1888; int done = 0; init_iso2DC_EVSEBidirectionalParameterType(iso2DC_EVSEBidirectionalParameterType); while(!done) { switch(grammarID) { case 1888: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumChargePower); grammarID = 1889; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1889: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumChargeCurrent); grammarID = 1890; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1890: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMinimumChargeCurrent); grammarID = 1891; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1891: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumVoltage); grammarID = 1892; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1892: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMinimumVoltage); grammarID = 1893; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1893: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSECurrentRegulationTolerance); iso2DC_EVSEBidirectionalParameterType->EVSECurrentRegulationTolerance_isUsed = 1u; grammarID = 1894; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEPeakCurrentRipple); grammarID = 1895; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1894: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEPeakCurrentRipple); grammarID = 1895; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1895: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyToBeDelivered), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEEnergyToBeDelivered); iso2DC_EVSEBidirectionalParameterType->EVSEEnergyToBeDelivered_isUsed = 1u; grammarID = 1896; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumDischargePower); grammarID = 1897; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1896: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumDischargePower); grammarID = 1897; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1897: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMaximumDischargeCurrent); grammarID = 1898; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1898: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumDischargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVSEBidirectionalParameterType->EVSEMinimumDischargeCurrent); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='http://www.w3.org/2000/09/xmldsig#,CanonicalizationMethodType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((WC[##any]){0-UNBOUNDED})', derivedBy='RESTRICTION'. */ static int decode_iso2CanonicalizationMethodType(bitstream_t* stream, struct iso2CanonicalizationMethodType* iso2CanonicalizationMethodType) { int grammarID = 1899; int done = 0; init_iso2CanonicalizationMethodType(iso2CanonicalizationMethodType); while(!done) { switch(grammarID) { case 1899: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2CanonicalizationMethodType->Algorithm.charactersLen); if (errn == 0) { if (iso2CanonicalizationMethodType->Algorithm.charactersLen >= 2) { iso2CanonicalizationMethodType->Algorithm.charactersLen = (uint16_t)(iso2CanonicalizationMethodType->Algorithm.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2CanonicalizationMethodType->Algorithm.charactersLen, iso2CanonicalizationMethodType->Algorithm.characters, iso2CanonicalizationMethodType_Algorithm_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } grammarID = 684; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 684: /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 685; break; case 1: done = 1; grammarID = 4; break; case 2: errn = decodeUnsignedInteger16(stream, &iso2CanonicalizationMethodType->ANY.charactersLen); if (errn == 0) { if (iso2CanonicalizationMethodType->ANY.charactersLen >= 2) { iso2CanonicalizationMethodType->ANY.charactersLen = (uint16_t)(iso2CanonicalizationMethodType->ANY.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2CanonicalizationMethodType->ANY.charactersLen, iso2CanonicalizationMethodType->ANY.characters, iso2CanonicalizationMethodType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2CanonicalizationMethodType->ANY_isUsed = 1u; grammarID = 685; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 685: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 685; break; case 1: done = 1; grammarID = 4; break; case 2: errn = decodeUnsignedInteger16(stream, &iso2CanonicalizationMethodType->ANY.charactersLen); if (errn == 0) { if (iso2CanonicalizationMethodType->ANY.charactersLen >= 2) { iso2CanonicalizationMethodType->ANY.charactersLen = (uint16_t)(iso2CanonicalizationMethodType->ANY.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2CanonicalizationMethodType->ANY.charactersLen, iso2CanonicalizationMethodType->ANY.characters, iso2CanonicalizationMethodType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2CanonicalizationMethodType->ANY_isUsed = 1u; grammarID = 685; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,DisplayParametersType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":CurrentRange{0-1},"urn:iso:15118:2:2016:MsgDataTypes":CurrentSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":TargetSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":BulkSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":MinimumSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":ChargingPerformance{0-1},"urn:iso:15118:2:2016:MsgDataTypes":RemainingTimeToTargetSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":RemainingTimeToBulkSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":RemainingTimeToMinimumSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":ChargingComplete{0-1},"urn:iso:15118:2:2016:MsgDataTypes":BulkChargingComplete{0-1},"urn:iso:15118:2:2016:MsgDataTypes":InletHot{0-1})', derivedBy='RESTRICTION'. */ static int decode_iso2DisplayParametersType(bitstream_t* stream, struct iso2DisplayParametersType* iso2DisplayParametersType) { int grammarID = 1900; int done = 0; init_iso2DisplayParametersType(iso2DisplayParametersType); while(!done) { switch(grammarID) { case 1900: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentRange), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2DisplayParametersType->CurrentRange); iso2DisplayParametersType->CurrentRange_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentRange) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1901; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->CurrentSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->CurrentSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1902; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->TargetSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->TargetSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1903; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->BulkSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->BulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1904; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 4: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->MinimumSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->MinimumSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1905; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 5: errn = decode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance); iso2DisplayParametersType->ChargingPerformance_isUsed = 1u; grammarID = 1906; break; case 6: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->RemainingTimeToTargetSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1907; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 7: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1908; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 8: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1909; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 9: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); iso2DisplayParametersType->ChargingComplete_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1910; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 10: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1911; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 11: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); iso2DisplayParametersType->InletHot_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 12: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1901: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->CurrentSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->CurrentSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1902; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->TargetSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->TargetSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1903; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->BulkSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->BulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1904; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->MinimumSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->MinimumSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1905; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 4: errn = decode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance); iso2DisplayParametersType->ChargingPerformance_isUsed = 1u; grammarID = 1906; break; case 5: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->RemainingTimeToTargetSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1907; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 6: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1908; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 7: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1909; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 8: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); iso2DisplayParametersType->ChargingComplete_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1910; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 9: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1911; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 10: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); iso2DisplayParametersType->InletHot_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 11: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1902: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->TargetSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->TargetSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1903; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->BulkSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->BulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1904; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->MinimumSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->MinimumSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1905; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: errn = decode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance); iso2DisplayParametersType->ChargingPerformance_isUsed = 1u; grammarID = 1906; break; case 4: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->RemainingTimeToTargetSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1907; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 5: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1908; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 6: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1909; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 7: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); iso2DisplayParametersType->ChargingComplete_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1910; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 8: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1911; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 9: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); iso2DisplayParametersType->InletHot_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 10: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1903: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->BulkSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->BulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1904; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->MinimumSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->MinimumSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1905; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance); iso2DisplayParametersType->ChargingPerformance_isUsed = 1u; grammarID = 1906; break; case 3: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->RemainingTimeToTargetSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1907; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 4: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1908; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 5: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1909; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 6: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); iso2DisplayParametersType->ChargingComplete_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1910; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 7: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1911; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 8: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); iso2DisplayParametersType->InletHot_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 9: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1904: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->MinimumSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->MinimumSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1905; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance); iso2DisplayParametersType->ChargingPerformance_isUsed = 1u; grammarID = 1906; break; case 2: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->RemainingTimeToTargetSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1907; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1908; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 4: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1909; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 5: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); iso2DisplayParametersType->ChargingComplete_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1910; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 6: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1911; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 7: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); iso2DisplayParametersType->InletHot_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 8: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1905: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DisplayParametersType->ChargingPerformance); iso2DisplayParametersType->ChargingPerformance_isUsed = 1u; grammarID = 1906; break; case 1: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->RemainingTimeToTargetSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1907; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1908; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1909; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 4: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); iso2DisplayParametersType->ChargingComplete_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1910; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 5: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1911; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 6: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); iso2DisplayParametersType->InletHot_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 7: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1906: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->RemainingTimeToTargetSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1907; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1908; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1909; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); iso2DisplayParametersType->ChargingComplete_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1910; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 4: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1911; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 5: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); iso2DisplayParametersType->InletHot_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 6: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1907: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->RemainingTimeToBulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1908; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1909; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); iso2DisplayParametersType->ChargingComplete_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1910; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1911; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 4: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); iso2DisplayParametersType->InletHot_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 5: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1908: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DisplayParametersType->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); iso2DisplayParametersType->RemainingTimeToMinimumSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1909; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); iso2DisplayParametersType->ChargingComplete_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1910; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1911; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); iso2DisplayParametersType->InletHot_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 4: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1909: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->ChargingComplete); iso2DisplayParametersType->ChargingComplete_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1910; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1911; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); iso2DisplayParametersType->InletHot_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1910: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->BulkChargingComplete); iso2DisplayParametersType->BulkChargingComplete_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1911; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); iso2DisplayParametersType->InletHot_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1911: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2DisplayParametersType->InletHot); iso2DisplayParametersType->InletHot_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,DC_EVBidirectionalParameterType', base type name='DC_EVChargeParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((("urn:iso:15118:2:2016:MsgDataTypes":DepartureTime),("urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargePower{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumChargePower{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumVoltage,"urn:iso:15118:2:2016:MsgDataTypes":EVTargetEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":CurrentSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":TargetSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":BulkSOC{0-1})),("urn:iso:15118:2:2016:MsgDataTypes":EVMaximumDischargePower{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumDischargePower{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumDischargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumDischargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumVoltage,"urn:iso:15118:2:2016:MsgDataTypes":MinimumSOC{0-1}))', derivedBy='EXTENSION'. */ static int decode_iso2DC_EVBidirectionalParameterType(bitstream_t* stream, struct iso2DC_EVBidirectionalParameterType* iso2DC_EVBidirectionalParameterType) { int grammarID = 1912; int done = 0; init_iso2DC_EVBidirectionalParameterType(iso2DC_EVBidirectionalParameterType); while(!done) { switch(grammarID) { case 1912: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger32(stream, &iso2DC_EVBidirectionalParameterType->DepartureTime); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1913; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1913: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumChargePower); iso2DC_EVBidirectionalParameterType->EVMaximumChargePower_isUsed = 1u; grammarID = 1914; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumChargePower); iso2DC_EVBidirectionalParameterType->EVMinimumChargePower_isUsed = 1u; grammarID = 1915; break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumChargeCurrent); grammarID = 1916; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1914: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumChargePower); iso2DC_EVBidirectionalParameterType->EVMinimumChargePower_isUsed = 1u; grammarID = 1915; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumChargeCurrent); grammarID = 1916; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1915: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumChargeCurrent); grammarID = 1916; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1916: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumChargeCurrent); grammarID = 1917; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1917: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumVoltage); grammarID = 1918; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1918: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVTargetEnergyRequest); iso2DC_EVBidirectionalParameterType->EVTargetEnergyRequest_isUsed = 1u; grammarID = 1919; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumEnergyRequest); iso2DC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 1u; grammarID = 1920; break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest); iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 1921; break; case 3: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVBidirectionalParameterType->CurrentSOC = (int8_t)(uint32 + 0); iso2DC_EVBidirectionalParameterType->CurrentSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1922; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 4: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVBidirectionalParameterType->TargetSOC = (int8_t)(uint32 + 0); iso2DC_EVBidirectionalParameterType->TargetSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1923; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 5: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVBidirectionalParameterType->BulkSOC = (int8_t)(uint32 + 0); iso2DC_EVBidirectionalParameterType->BulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1924; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 6: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower); iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; grammarID = 1925; break; case 7: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower); iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; grammarID = 1926; break; case 8: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); grammarID = 1927; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1919: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumEnergyRequest); iso2DC_EVBidirectionalParameterType->EVMaximumEnergyRequest_isUsed = 1u; grammarID = 1920; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest); iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 1921; break; case 2: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVBidirectionalParameterType->CurrentSOC = (int8_t)(uint32 + 0); iso2DC_EVBidirectionalParameterType->CurrentSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1922; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVBidirectionalParameterType->TargetSOC = (int8_t)(uint32 + 0); iso2DC_EVBidirectionalParameterType->TargetSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1923; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 4: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVBidirectionalParameterType->BulkSOC = (int8_t)(uint32 + 0); iso2DC_EVBidirectionalParameterType->BulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1924; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 5: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower); iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; grammarID = 1925; break; case 6: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower); iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; grammarID = 1926; break; case 7: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); grammarID = 1927; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1920: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest); iso2DC_EVBidirectionalParameterType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 1921; break; case 1: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVBidirectionalParameterType->CurrentSOC = (int8_t)(uint32 + 0); iso2DC_EVBidirectionalParameterType->CurrentSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1922; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVBidirectionalParameterType->TargetSOC = (int8_t)(uint32 + 0); iso2DC_EVBidirectionalParameterType->TargetSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1923; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVBidirectionalParameterType->BulkSOC = (int8_t)(uint32 + 0); iso2DC_EVBidirectionalParameterType->BulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1924; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 4: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower); iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; grammarID = 1925; break; case 5: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower); iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; grammarID = 1926; break; case 6: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); grammarID = 1927; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1921: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVBidirectionalParameterType->CurrentSOC = (int8_t)(uint32 + 0); iso2DC_EVBidirectionalParameterType->CurrentSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1922; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVBidirectionalParameterType->TargetSOC = (int8_t)(uint32 + 0); iso2DC_EVBidirectionalParameterType->TargetSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1923; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVBidirectionalParameterType->BulkSOC = (int8_t)(uint32 + 0); iso2DC_EVBidirectionalParameterType->BulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1924; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower); iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; grammarID = 1925; break; case 4: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower); iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; grammarID = 1926; break; case 5: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); grammarID = 1927; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1922: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVBidirectionalParameterType->TargetSOC = (int8_t)(uint32 + 0); iso2DC_EVBidirectionalParameterType->TargetSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1923; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVBidirectionalParameterType->BulkSOC = (int8_t)(uint32 + 0); iso2DC_EVBidirectionalParameterType->BulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1924; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower); iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; grammarID = 1925; break; case 3: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower); iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; grammarID = 1926; break; case 4: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); grammarID = 1927; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1923: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVBidirectionalParameterType->BulkSOC = (int8_t)(uint32 + 0); iso2DC_EVBidirectionalParameterType->BulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1924; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower); iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; grammarID = 1925; break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower); iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; grammarID = 1926; break; case 3: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); grammarID = 1927; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1924: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower); iso2DC_EVBidirectionalParameterType->EVMaximumDischargePower_isUsed = 1u; grammarID = 1925; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower); iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; grammarID = 1926; break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); grammarID = 1927; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1925: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower); iso2DC_EVBidirectionalParameterType->EVMinimumDischargePower_isUsed = 1u; grammarID = 1926; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); grammarID = 1927; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1926: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMaximumDischargeCurrent); grammarID = 1927; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1927: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumDischargeCurrent); grammarID = 1928; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1928: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVBidirectionalParameterType->EVMinimumVoltage); grammarID = 1929; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1929: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVBidirectionalParameterType->MinimumSOC = (int8_t)(uint32 + 0); iso2DC_EVBidirectionalParameterType->MinimumSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,PaymentServiceSelectionReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":SelectedPaymentOption,"urn:iso:15118:2:2016:MsgBody":SelectedEnergyTransferService,"urn:iso:15118:2:2016:MsgBody":SelectedVASList{0-1})', derivedBy='EXTENSION'. */ static int decode_iso2PaymentServiceSelectionReqType(bitstream_t* stream, struct iso2PaymentServiceSelectionReqType* iso2PaymentServiceSelectionReqType) { int grammarID = 1930; int done = 0; init_iso2PaymentServiceSelectionReqType(iso2PaymentServiceSelectionReqType); while(!done) { switch(grammarID) { case 1930: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedPaymentOption)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); iso2PaymentServiceSelectionReqType->SelectedPaymentOption = (iso2paymentOptionType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedPaymentOption) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1931; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1931: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedEnergyTransferService)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2SelectedServiceType(stream, &iso2PaymentServiceSelectionReqType->SelectedEnergyTransferService); grammarID = 1932; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1932: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedVASList), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2SelectedServiceListType(stream, &iso2PaymentServiceSelectionReqType->SelectedVASList); iso2PaymentServiceSelectionReqType->SelectedVASList_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MagneticVectorType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":GAID,"urn:iso:15118:2:2016:MsgDataTypes":Distance,"urn:iso:15118:2:2016:MsgDataTypes":AngleGAtoVA,"urn:iso:15118:2:2016:MsgDataTypes":RotationVAtoGA,"urn:iso:15118:2:2016:MsgDataTypes":FODStatus)', derivedBy='RESTRICTION'. */ static int decode_iso2MagneticVectorType(bitstream_t* stream, struct iso2MagneticVectorType* iso2MagneticVectorType) { int grammarID = 1933; int done = 0; init_iso2MagneticVectorType(iso2MagneticVectorType); while(!done) { switch(grammarID) { case 1933: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MagneticVectorType->GAID.charactersLen); if (errn == 0) { if (iso2MagneticVectorType->GAID.charactersLen >= 2) { iso2MagneticVectorType->GAID.charactersLen = (uint16_t)(iso2MagneticVectorType->GAID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2MagneticVectorType->GAID.charactersLen, iso2MagneticVectorType->GAID.characters, iso2MagneticVectorType_GAID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1934; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1934: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Distance)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2MagneticVectorType->Distance); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Distance) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1935; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1935: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AngleGAtoVA)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2MagneticVectorType->AngleGAtoVA); grammarID = 1936; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1936: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RotationVAtoGA)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2MagneticVectorType->RotationVAtoGA); grammarID = 1937; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1937: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FODStatus)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2MagneticVectorType->FODStatus = (iso2FODStatusType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FODStatus) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,PhysicalValueType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":Exponent,"urn:iso:15118:2:2016:MsgDataTypes":Value)', derivedBy='RESTRICTION'. */ static int decode_iso2PhysicalValueType(bitstream_t* stream, struct iso2PhysicalValueType* iso2PhysicalValueType) { int grammarID = 1938; int done = 0; init_iso2PhysicalValueType(iso2PhysicalValueType); while(!done) { switch(grammarID) { case 1938: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Exponent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 3, &(uint32)); iso2PhysicalValueType->Exponent = (int8_t)(uint32 -3); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Exponent) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1939; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1939: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Value)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger16(stream, &iso2PhysicalValueType->Value); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Value) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,SystemStatusReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":OperationMode,"urn:iso:15118:2:2016:MsgBody":EVMechanicalChargingDeviceStatus)', derivedBy='EXTENSION'. */ static int decode_iso2SystemStatusReqType(bitstream_t* stream, struct iso2SystemStatusReqType* iso2SystemStatusReqType) { int grammarID = 1940; int done = 0; init_iso2SystemStatusReqType(iso2SystemStatusReqType); while(!done) { switch(grammarID) { case 1940: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); iso2SystemStatusReqType->OperationMode = (iso2operationModeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1497; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1497: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2SystemStatusReqType->EVMechanicalChargingDeviceStatus = (iso2mechanicalChargingDeviceStatusType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,SystemStatusResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":OperationMode,"urn:iso:15118:2:2016:MsgBody":EVSEMechanicalChargingDeviceStatus))', derivedBy='EXTENSION'. */ static int decode_iso2SystemStatusResType(bitstream_t* stream, struct iso2SystemStatusResType* iso2SystemStatusResType) { int grammarID = 1941; int done = 0; init_iso2SystemStatusResType(iso2SystemStatusResType); while(!done) { switch(grammarID) { case 1941: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2SystemStatusResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1942; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1942: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2SystemStatusResType->EVSEStatus); iso2SystemStatusResType->EVSEStatus_isUsed = 1u; grammarID = 1943; break; case 1: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); iso2SystemStatusResType->OperationMode = (iso2operationModeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 595; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1943: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); iso2SystemStatusResType->OperationMode = (iso2operationModeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 595; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 595: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2SystemStatusResType->EVSEMechanicalChargingDeviceStatus = (iso2mechanicalChargingDeviceStatusType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EVSEFinePositioningSetupParametersType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ static int decode_iso2EVSEFinePositioningSetupParametersType(bitstream_t* stream, struct iso2EVSEFinePositioningSetupParametersType* iso2EVSEFinePositioningSetupParametersType) { int grammarID = 674; int done = 0; init_iso2EVSEFinePositioningSetupParametersType(iso2EVSEFinePositioningSetupParametersType); while(!done) { switch(grammarID) { case 674: /* FirstStartTag[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,V2GResponseType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ static int decode_iso2V2GResponseType(bitstream_t* stream, struct iso2V2GResponseType* iso2V2GResponseType) { int grammarID = 599; int done = 0; init_iso2V2GResponseType(iso2V2GResponseType); while(!done) { switch(grammarID) { case 599: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2V2GResponseType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 600; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 600: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2V2GResponseType->EVSEStatus); iso2V2GResponseType->EVSEStatus_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,BodyType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":BodyElement)', derivedBy='RESTRICTION'. */ static int decode_iso2BodyType(bitstream_t* stream, struct iso2BodyType* iso2BodyType) { int grammarID = 1944; int done = 0; init_iso2BodyType(iso2BodyType); while(!done) { switch(grammarID) { case 1944: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes)] */ errn = decodeNBitUnsignedInteger(stream, 6, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2AC_BidirectionalControlReqType(stream, &iso2BodyType->AC_BidirectionalControlReq); iso2BodyType->AC_BidirectionalControlReq_isUsed = 1u; grammarID = 3; break; case 1: errn = decode_iso2AC_BidirectionalControlResType(stream, &iso2BodyType->AC_BidirectionalControlRes); iso2BodyType->AC_BidirectionalControlRes_isUsed = 1u; grammarID = 3; break; case 2: errn = decode_iso2AlignmentCheckReqType(stream, &iso2BodyType->AlignmentCheckReq); iso2BodyType->AlignmentCheckReq_isUsed = 1u; grammarID = 3; break; case 3: errn = decode_iso2AlignmentCheckResType(stream, &iso2BodyType->AlignmentCheckRes); iso2BodyType->AlignmentCheckRes_isUsed = 1u; grammarID = 3; break; case 4: errn = decode_iso2AuthorizationReqType(stream, &iso2BodyType->AuthorizationReq); iso2BodyType->AuthorizationReq_isUsed = 1u; grammarID = 3; break; case 5: errn = decode_iso2AuthorizationResType(stream, &iso2BodyType->AuthorizationRes); iso2BodyType->AuthorizationRes_isUsed = 1u; grammarID = 3; break; case 6: errn = decode_iso2BodyBaseType(stream, &iso2BodyType->BodyElement); iso2BodyType->BodyElement_isUsed = 1u; grammarID = 3; break; case 7: errn = decode_iso2CableCheckReqType(stream, &iso2BodyType->CableCheckReq); iso2BodyType->CableCheckReq_isUsed = 1u; grammarID = 3; break; case 8: errn = decode_iso2CableCheckResType(stream, &iso2BodyType->CableCheckRes); iso2BodyType->CableCheckRes_isUsed = 1u; grammarID = 3; break; case 9: errn = decode_iso2CertificateInstallationReqType(stream, &iso2BodyType->CertificateInstallationReq); iso2BodyType->CertificateInstallationReq_isUsed = 1u; grammarID = 3; break; case 10: errn = decode_iso2CertificateInstallationResType(stream, &iso2BodyType->CertificateInstallationRes); iso2BodyType->CertificateInstallationRes_isUsed = 1u; grammarID = 3; break; case 11: errn = decode_iso2CertificateUpdateReqType(stream, &iso2BodyType->CertificateUpdateReq); iso2BodyType->CertificateUpdateReq_isUsed = 1u; grammarID = 3; break; case 12: errn = decode_iso2CertificateUpdateResType(stream, &iso2BodyType->CertificateUpdateRes); iso2BodyType->CertificateUpdateRes_isUsed = 1u; grammarID = 3; break; case 13: errn = decode_iso2ChargeParameterDiscoveryReqType(stream, &iso2BodyType->ChargeParameterDiscoveryReq); iso2BodyType->ChargeParameterDiscoveryReq_isUsed = 1u; grammarID = 3; break; case 14: errn = decode_iso2ChargeParameterDiscoveryResType(stream, &iso2BodyType->ChargeParameterDiscoveryRes); iso2BodyType->ChargeParameterDiscoveryRes_isUsed = 1u; grammarID = 3; break; case 15: errn = decode_iso2ChargingStatusReqType(stream, &iso2BodyType->ChargingStatusReq); iso2BodyType->ChargingStatusReq_isUsed = 1u; grammarID = 3; break; case 16: errn = decode_iso2ChargingStatusResType(stream, &iso2BodyType->ChargingStatusRes); iso2BodyType->ChargingStatusRes_isUsed = 1u; grammarID = 3; break; case 17: errn = decode_iso2ConnectChargingDeviceReqType(stream, &iso2BodyType->ConnectChargingDeviceReq); iso2BodyType->ConnectChargingDeviceReq_isUsed = 1u; grammarID = 3; break; case 18: errn = decode_iso2ConnectChargingDeviceResType(stream, &iso2BodyType->ConnectChargingDeviceRes); iso2BodyType->ConnectChargingDeviceRes_isUsed = 1u; grammarID = 3; break; case 19: errn = decode_iso2CurrentDemandReqType(stream, &iso2BodyType->CurrentDemandReq); iso2BodyType->CurrentDemandReq_isUsed = 1u; grammarID = 3; break; case 20: errn = decode_iso2CurrentDemandResType(stream, &iso2BodyType->CurrentDemandRes); iso2BodyType->CurrentDemandRes_isUsed = 1u; grammarID = 3; break; case 21: errn = decode_iso2DC_BidirectionalControlReqType(stream, &iso2BodyType->DC_BidirectionalControlReq); iso2BodyType->DC_BidirectionalControlReq_isUsed = 1u; grammarID = 3; break; case 22: errn = decode_iso2DC_BidirectionalControlResType(stream, &iso2BodyType->DC_BidirectionalControlRes); iso2BodyType->DC_BidirectionalControlRes_isUsed = 1u; grammarID = 3; break; case 23: errn = decode_iso2DisconnectChargingDeviceReqType(stream, &iso2BodyType->DisconnectChargingDeviceReq); iso2BodyType->DisconnectChargingDeviceReq_isUsed = 1u; grammarID = 3; break; case 24: errn = decode_iso2DisconnectChargingDeviceResType(stream, &iso2BodyType->DisconnectChargingDeviceRes); iso2BodyType->DisconnectChargingDeviceRes_isUsed = 1u; grammarID = 3; break; case 25: errn = decode_iso2FinePositioningReqType(stream, &iso2BodyType->FinePositioningReq); iso2BodyType->FinePositioningReq_isUsed = 1u; grammarID = 3; break; case 26: errn = decode_iso2FinePositioningResType(stream, &iso2BodyType->FinePositioningRes); iso2BodyType->FinePositioningRes_isUsed = 1u; grammarID = 3; break; case 27: errn = decode_iso2FinePositioningSetupReqType(stream, &iso2BodyType->FinePositioningSetupReq); iso2BodyType->FinePositioningSetupReq_isUsed = 1u; grammarID = 3; break; case 28: errn = decode_iso2FinePositioningSetupResType(stream, &iso2BodyType->FinePositioningSetupRes); iso2BodyType->FinePositioningSetupRes_isUsed = 1u; grammarID = 3; break; case 29: errn = decode_iso2MeteringReceiptReqType(stream, &iso2BodyType->MeteringReceiptReq); iso2BodyType->MeteringReceiptReq_isUsed = 1u; grammarID = 3; break; case 30: errn = decode_iso2MeteringReceiptResType(stream, &iso2BodyType->MeteringReceiptRes); iso2BodyType->MeteringReceiptRes_isUsed = 1u; grammarID = 3; break; case 31: errn = decode_iso2PairingReqType(stream, &iso2BodyType->PairingReq); iso2BodyType->PairingReq_isUsed = 1u; grammarID = 3; break; case 32: errn = decode_iso2PairingResType(stream, &iso2BodyType->PairingRes); iso2BodyType->PairingRes_isUsed = 1u; grammarID = 3; break; case 33: errn = decode_iso2PaymentDetailsReqType(stream, &iso2BodyType->PaymentDetailsReq); iso2BodyType->PaymentDetailsReq_isUsed = 1u; grammarID = 3; break; case 34: errn = decode_iso2PaymentDetailsResType(stream, &iso2BodyType->PaymentDetailsRes); iso2BodyType->PaymentDetailsRes_isUsed = 1u; grammarID = 3; break; case 35: errn = decode_iso2PaymentServiceSelectionReqType(stream, &iso2BodyType->PaymentServiceSelectionReq); iso2BodyType->PaymentServiceSelectionReq_isUsed = 1u; grammarID = 3; break; case 36: errn = decode_iso2PaymentServiceSelectionResType(stream, &iso2BodyType->PaymentServiceSelectionRes); iso2BodyType->PaymentServiceSelectionRes_isUsed = 1u; grammarID = 3; break; case 37: errn = decode_iso2PowerDeliveryReqType(stream, &iso2BodyType->PowerDeliveryReq); iso2BodyType->PowerDeliveryReq_isUsed = 1u; grammarID = 3; break; case 38: errn = decode_iso2PowerDeliveryResType(stream, &iso2BodyType->PowerDeliveryRes); iso2BodyType->PowerDeliveryRes_isUsed = 1u; grammarID = 3; break; case 39: errn = decode_iso2PowerDemandReqType(stream, &iso2BodyType->PowerDemandReq); iso2BodyType->PowerDemandReq_isUsed = 1u; grammarID = 3; break; case 40: errn = decode_iso2PowerDemandResType(stream, &iso2BodyType->PowerDemandRes); iso2BodyType->PowerDemandRes_isUsed = 1u; grammarID = 3; break; case 41: errn = decode_iso2PreChargeReqType(stream, &iso2BodyType->PreChargeReq); iso2BodyType->PreChargeReq_isUsed = 1u; grammarID = 3; break; case 42: errn = decode_iso2PreChargeResType(stream, &iso2BodyType->PreChargeRes); iso2BodyType->PreChargeRes_isUsed = 1u; grammarID = 3; break; case 43: errn = decode_iso2ServiceDetailReqType(stream, &iso2BodyType->ServiceDetailReq); iso2BodyType->ServiceDetailReq_isUsed = 1u; grammarID = 3; break; case 44: errn = decode_iso2ServiceDetailResType(stream, &iso2BodyType->ServiceDetailRes); iso2BodyType->ServiceDetailRes_isUsed = 1u; grammarID = 3; break; case 45: errn = decode_iso2ServiceDiscoveryReqType(stream, &iso2BodyType->ServiceDiscoveryReq); iso2BodyType->ServiceDiscoveryReq_isUsed = 1u; grammarID = 3; break; case 46: errn = decode_iso2ServiceDiscoveryResType(stream, &iso2BodyType->ServiceDiscoveryRes); iso2BodyType->ServiceDiscoveryRes_isUsed = 1u; grammarID = 3; break; case 47: errn = decode_iso2SessionSetupReqType(stream, &iso2BodyType->SessionSetupReq); iso2BodyType->SessionSetupReq_isUsed = 1u; grammarID = 3; break; case 48: errn = decode_iso2SessionSetupResType(stream, &iso2BodyType->SessionSetupRes); iso2BodyType->SessionSetupRes_isUsed = 1u; grammarID = 3; break; case 49: errn = decode_iso2SessionStopReqType(stream, &iso2BodyType->SessionStopReq); iso2BodyType->SessionStopReq_isUsed = 1u; grammarID = 3; break; case 50: errn = decode_iso2SessionStopResType(stream, &iso2BodyType->SessionStopRes); iso2BodyType->SessionStopRes_isUsed = 1u; grammarID = 3; break; case 51: errn = decode_iso2SystemStatusReqType(stream, &iso2BodyType->SystemStatusReq); iso2BodyType->SystemStatusReq_isUsed = 1u; grammarID = 3; break; case 52: errn = decode_iso2SystemStatusResType(stream, &iso2BodyType->SystemStatusRes); iso2BodyType->SystemStatusRes_isUsed = 1u; grammarID = 3; break; case 53: errn = decode_iso2BodyBaseType(stream, &iso2BodyType->V2GRequest); iso2BodyType->V2GRequest_isUsed = 1u; grammarID = 3; break; case 54: errn = decode_iso2V2GResponseType(stream, &iso2BodyType->V2GResponse); iso2BodyType->V2GResponse_isUsed = 1u; grammarID = 3; break; case 55: errn = decode_iso2VehicleCheckInReqType(stream, &iso2BodyType->VehicleCheckInReq); iso2BodyType->VehicleCheckInReq_isUsed = 1u; grammarID = 3; break; case 56: errn = decode_iso2VehicleCheckInResType(stream, &iso2BodyType->VehicleCheckInRes); iso2BodyType->VehicleCheckInRes_isUsed = 1u; grammarID = 3; break; case 57: errn = decode_iso2VehicleCheckOutReqType(stream, &iso2BodyType->VehicleCheckOutReq); iso2BodyType->VehicleCheckOutReq_isUsed = 1u; grammarID = 3; break; case 58: errn = decode_iso2VehicleCheckOutResType(stream, &iso2BodyType->VehicleCheckOutRes); iso2BodyType->VehicleCheckOutRes_isUsed = 1u; grammarID = 3; break; case 59: errn = decode_iso2WeldingDetectionReqType(stream, &iso2BodyType->WeldingDetectionReq); iso2BodyType->WeldingDetectionReq_isUsed = 1u; grammarID = 3; break; case 60: errn = decode_iso2WeldingDetectionResType(stream, &iso2BodyType->WeldingDetectionRes); iso2BodyType->WeldingDetectionRes_isUsed = 1u; grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,PreChargeResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEPresentVoltage))', derivedBy='EXTENSION'. */ static int decode_iso2PreChargeResType(bitstream_t* stream, struct iso2PreChargeResType* iso2PreChargeResType) { int grammarID = 596; int done = 0; init_iso2PreChargeResType(iso2PreChargeResType); while(!done) { switch(grammarID) { case 596: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2PreChargeResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 597; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 597: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2PreChargeResType->EVSEStatus); iso2PreChargeResType->EVSEStatus_isUsed = 1u; grammarID = 598; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2PreChargeResType->EVSEPresentVoltage); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 598: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2PreChargeResType->EVSEPresentVoltage); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EVSEFinePositioningParametersType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ static int decode_iso2EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2EVSEFinePositioningParametersType* iso2EVSEFinePositioningParametersType) { int grammarID = 674; int done = 0; init_iso2EVSEFinePositioningParametersType(iso2EVSEFinePositioningParametersType); while(!done) { switch(grammarID) { case 674: /* FirstStartTag[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,PaymentServiceSelectionResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1})', derivedBy='EXTENSION'. */ static int decode_iso2PaymentServiceSelectionResType(bitstream_t* stream, struct iso2PaymentServiceSelectionResType* iso2PaymentServiceSelectionResType) { int grammarID = 599; int done = 0; init_iso2PaymentServiceSelectionResType(iso2PaymentServiceSelectionResType); while(!done) { switch(grammarID) { case 599: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2PaymentServiceSelectionResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 600; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 600: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2PaymentServiceSelectionResType->EVSEStatus); iso2PaymentServiceSelectionResType->EVSEStatus_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='http://www.w3.org/2000/09/xmldsig#,DigestMethodType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='((WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})', derivedBy='RESTRICTION'. */ static int decode_iso2DigestMethodType(bitstream_t* stream, struct iso2DigestMethodType* iso2DigestMethodType) { int grammarID = 1899; int done = 0; init_iso2DigestMethodType(iso2DigestMethodType); while(!done) { switch(grammarID) { case 1899: /* FirstStartTag[ATTRIBUTE[STRING](Algorithm)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2DigestMethodType->Algorithm.charactersLen); if (errn == 0) { if (iso2DigestMethodType->Algorithm.charactersLen >= 2) { iso2DigestMethodType->Algorithm.charactersLen = (uint16_t)(iso2DigestMethodType->Algorithm.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2DigestMethodType->Algorithm.charactersLen, iso2DigestMethodType->Algorithm.characters, iso2DigestMethodType_Algorithm_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } grammarID = 684; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 684: /* StartTag[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 685; break; case 1: done = 1; grammarID = 4; break; case 2: errn = decodeUnsignedInteger16(stream, &iso2DigestMethodType->ANY.charactersLen); if (errn == 0) { if (iso2DigestMethodType->ANY.charactersLen >= 2) { iso2DigestMethodType->ANY.charactersLen = (uint16_t)(iso2DigestMethodType->ANY.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2DigestMethodType->ANY.charactersLen, iso2DigestMethodType->ANY.characters, iso2DigestMethodType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2DigestMethodType->ANY_isUsed = 1u; grammarID = 685; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 685: /* Element[START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 685; break; case 1: done = 1; grammarID = 4; break; case 2: errn = decodeUnsignedInteger16(stream, &iso2DigestMethodType->ANY.charactersLen); if (errn == 0) { if (iso2DigestMethodType->ANY.charactersLen >= 2) { iso2DigestMethodType->ANY.charactersLen = (uint16_t)(iso2DigestMethodType->ANY.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2DigestMethodType->ANY.charactersLen, iso2DigestMethodType->ANY.characters, iso2DigestMethodType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2DigestMethodType->ANY_isUsed = 1u; grammarID = 685; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,TargetPositionType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":TargetOffsetX,"urn:iso:15118:2:2016:MsgDataTypes":TargetOffsetY)', derivedBy='RESTRICTION'. */ static int decode_iso2TargetPositionType(bitstream_t* stream, struct iso2TargetPositionType* iso2TargetPositionType) { int grammarID = 1945; int done = 0; init_iso2TargetPositionType(iso2TargetPositionType); while(!done) { switch(grammarID) { case 1945: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetX)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2TargetPositionType->TargetOffsetX); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetX) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1946; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1946: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetY)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2TargetPositionType->TargetOffsetY); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetY) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,LFA_EVFinePositioningParametersType', base type name='EVFinePositioningParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":NumberOfSignalPackages,"urn:iso:15118:2:2016:MsgDataTypes":SensorPackageList)', derivedBy='EXTENSION'. */ static int decode_iso2LFA_EVFinePositioningParametersType(bitstream_t* stream, struct iso2LFA_EVFinePositioningParametersType* iso2LFA_EVFinePositioningParametersType) { int grammarID = 670; int done = 0; init_iso2LFA_EVFinePositioningParametersType(iso2LFA_EVFinePositioningParametersType); while(!done) { switch(grammarID) { case 670: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2LFA_EVFinePositioningParametersType->NumberOfSignalPackages = (uint8_t)(uint32 + 0); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 671; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 671: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2SensorPackageListType(stream, &iso2LFA_EVFinePositioningParametersType->SensorPackageList); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,DC_EVChargeParameterType', base type name='EVEnergyTransferParameterType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgDataTypes":DepartureTime),("urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargePower{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumChargePower{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumChargeCurrent,"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumVoltage,"urn:iso:15118:2:2016:MsgDataTypes":EVTargetEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgDataTypes":CurrentSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":TargetSOC{0-1},"urn:iso:15118:2:2016:MsgDataTypes":BulkSOC{0-1}))', derivedBy='EXTENSION'. */ static int decode_iso2DC_EVChargeParameterType(bitstream_t* stream, struct iso2DC_EVChargeParameterType* iso2DC_EVChargeParameterType) { int grammarID = 1947; int done = 0; init_iso2DC_EVChargeParameterType(iso2DC_EVChargeParameterType); while(!done) { switch(grammarID) { case 1947: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger32(stream, &iso2DC_EVChargeParameterType->DepartureTime); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1948; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1948: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumChargePower); iso2DC_EVChargeParameterType->EVMaximumChargePower_isUsed = 1u; grammarID = 1949; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumChargePower); iso2DC_EVChargeParameterType->EVMinimumChargePower_isUsed = 1u; grammarID = 1950; break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumChargeCurrent); grammarID = 1951; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1949: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumChargePower); iso2DC_EVChargeParameterType->EVMinimumChargePower_isUsed = 1u; grammarID = 1950; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumChargeCurrent); grammarID = 1951; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1950: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumChargeCurrent); grammarID = 1951; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1951: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumChargeCurrent); grammarID = 1952; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1952: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumVoltage); grammarID = 1953; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1953: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVTargetEnergyRequest); iso2DC_EVChargeParameterType->EVTargetEnergyRequest_isUsed = 1u; grammarID = 1954; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumEnergyRequest); iso2DC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 1u; grammarID = 1955; break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumEnergyRequest); iso2DC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 1956; break; case 3: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVChargeParameterType->CurrentSOC = (int8_t)(uint32 + 0); iso2DC_EVChargeParameterType->CurrentSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1957; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 4: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVChargeParameterType->TargetSOC = (int8_t)(uint32 + 0); iso2DC_EVChargeParameterType->TargetSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1958; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 5: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); iso2DC_EVChargeParameterType->BulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 6: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1954: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMaximumEnergyRequest); iso2DC_EVChargeParameterType->EVMaximumEnergyRequest_isUsed = 1u; grammarID = 1955; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumEnergyRequest); iso2DC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 1956; break; case 2: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVChargeParameterType->CurrentSOC = (int8_t)(uint32 + 0); iso2DC_EVChargeParameterType->CurrentSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1957; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVChargeParameterType->TargetSOC = (int8_t)(uint32 + 0); iso2DC_EVChargeParameterType->TargetSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1958; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 4: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); iso2DC_EVChargeParameterType->BulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 5: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1955: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2DC_EVChargeParameterType->EVMinimumEnergyRequest); iso2DC_EVChargeParameterType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 1956; break; case 1: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVChargeParameterType->CurrentSOC = (int8_t)(uint32 + 0); iso2DC_EVChargeParameterType->CurrentSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1957; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVChargeParameterType->TargetSOC = (int8_t)(uint32 + 0); iso2DC_EVChargeParameterType->TargetSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1958; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); iso2DC_EVChargeParameterType->BulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 4: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1956: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVChargeParameterType->CurrentSOC = (int8_t)(uint32 + 0); iso2DC_EVChargeParameterType->CurrentSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1957; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVChargeParameterType->TargetSOC = (int8_t)(uint32 + 0); iso2DC_EVChargeParameterType->TargetSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1958; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); iso2DC_EVChargeParameterType->BulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1957: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVChargeParameterType->TargetSOC = (int8_t)(uint32 + 0); iso2DC_EVChargeParameterType->TargetSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1958; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); iso2DC_EVChargeParameterType->BulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1958: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); iso2DC_EVChargeParameterType->BulkSOC = (int8_t)(uint32 + 0); iso2DC_EVChargeParameterType->BulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,ServiceDetailReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":ServiceID)', derivedBy='EXTENSION'. */ static int decode_iso2ServiceDetailReqType(bitstream_t* stream, struct iso2ServiceDetailReqType* iso2ServiceDetailReqType) { int grammarID = 1959; int done = 0; init_iso2ServiceDetailReqType(iso2ServiceDetailReqType); while(!done) { switch(grammarID) { case 1959: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2ServiceDetailReqType->ServiceID); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,PreChargeReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVTargetVoltage,"urn:iso:15118:2:2016:MsgBody":EVTargetCurrent)', derivedBy='EXTENSION'. */ static int decode_iso2PreChargeReqType(bitstream_t* stream, struct iso2PreChargeReqType* iso2PreChargeReqType) { int grammarID = 1960; int done = 0; init_iso2PreChargeReqType(iso2PreChargeReqType); while(!done) { switch(grammarID) { case 1960: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2PreChargeReqType->EVTargetVoltage); grammarID = 1961; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1961: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2PreChargeReqType->EVTargetCurrent); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='http://www.w3.org/2000/09/xmldsig#,ManifestType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":Reference{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ static int decode_iso2ManifestType(bitstream_t* stream, struct iso2ManifestType* iso2ManifestType) { int grammarID = 1962; int done = 0; init_iso2ManifestType(iso2ManifestType); while(!done) { switch(grammarID) { case 1962: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2ManifestType->Id.charactersLen); if (errn == 0) { if (iso2ManifestType->Id.charactersLen >= 2) { iso2ManifestType->Id.charactersLen = (uint16_t)(iso2ManifestType->Id.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2ManifestType->Id.charactersLen, iso2ManifestType->Id.characters, iso2ManifestType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2ManifestType->Id_isUsed = 1u; grammarID = 1963; break; case 1: if (iso2ManifestType->Reference.arrayLen < iso2ManifestType_Reference_ARRAY_SIZE) { errn = decode_iso2ReferenceType(stream, &iso2ManifestType->Reference.array[iso2ManifestType->Reference.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1964; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1963: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ManifestType->Reference.arrayLen < iso2ManifestType_Reference_ARRAY_SIZE) { errn = decode_iso2ReferenceType(stream, &iso2ManifestType->Reference.array[iso2ManifestType->Reference.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1964; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1964: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ManifestType->Reference.arrayLen < iso2ManifestType_Reference_ARRAY_SIZE) { errn = decode_iso2ReferenceType(stream, &iso2ManifestType->Reference.array[iso2ManifestType->Reference.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1964; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDef,#AnonType_V2G_Message', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDef":Header,"urn:iso:15118:2:2016:MsgDef":Body)', derivedBy='RESTRICTION'. */ static int decode_iso2AnonType_V2G_Message(bitstream_t* stream, struct iso2AnonType_V2G_Message* iso2AnonType_V2G_Message) { int grammarID = 1965; int done = 0; init_iso2AnonType_V2G_Message(iso2AnonType_V2G_Message); while(!done) { switch(grammarID) { case 1965: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Header)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2MessageHeaderType(stream, &iso2AnonType_V2G_Message->Header); grammarID = 1966; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1966: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Body)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2BodyType(stream, &iso2AnonType_V2G_Message->Body); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SelectedServiceListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SelectedService{1-16})', derivedBy='RESTRICTION'. */ static int decode_iso2SelectedServiceListType(bitstream_t* stream, struct iso2SelectedServiceListType* iso2SelectedServiceListType) { int grammarID = 1967; int done = 0; init_iso2SelectedServiceListType(iso2SelectedServiceListType); while(!done) { switch(grammarID) { case 1967: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1968; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1968: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1969; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1969: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1970; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1970: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1971; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1971: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1972; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1972: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1973; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1973: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1974; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1974: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1975; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1975: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1976; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1976: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1977; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1977: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1978; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1978: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1979; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1979: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1980; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1980: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1981; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1981: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1982; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1982: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SelectedServiceListType->SelectedService.arrayLen < iso2SelectedServiceListType_SelectedService_ARRAY_SIZE) { errn = decode_iso2SelectedServiceType(stream, &iso2SelectedServiceListType->SelectedService.array[iso2SelectedServiceListType->SelectedService.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,Generic_EVSEFinePositioningParametersType', base type name='EVSEFinePositioningParametersType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":GenericParameters)', derivedBy='EXTENSION'. */ static int decode_iso2Generic_EVSEFinePositioningParametersType(bitstream_t* stream, struct iso2Generic_EVSEFinePositioningParametersType* iso2Generic_EVSEFinePositioningParametersType) { int grammarID = 1880; int done = 0; init_iso2Generic_EVSEFinePositioningParametersType(iso2Generic_EVSEFinePositioningParametersType); while(!done) { switch(grammarID) { case 1880: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2ParameterSetType(stream, &iso2Generic_EVSEFinePositioningParametersType->GenericParameters); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,CartesianCoordinatesType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":XCoordinate,"urn:iso:15118:2:2016:MsgDataTypes":YCoordinate,"urn:iso:15118:2:2016:MsgDataTypes":ZCoordinate)', derivedBy='RESTRICTION'. */ static int decode_iso2CartesianCoordinatesType(bitstream_t* stream, struct iso2CartesianCoordinatesType* iso2CartesianCoordinatesType) { int grammarID = 1983; int done = 0; init_iso2CartesianCoordinatesType(iso2CartesianCoordinatesType); while(!done) { switch(grammarID) { case 1983: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}XCoordinate)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger16(stream, &iso2CartesianCoordinatesType->XCoordinate); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}XCoordinate) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1984; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1984: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}YCoordinate)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger16(stream, &iso2CartesianCoordinatesType->YCoordinate); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}YCoordinate) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1985; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1985: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ZCoordinate)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger16(stream, &iso2CartesianCoordinatesType->ZCoordinate); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ZCoordinate) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='http://www.w3.org/2000/09/xmldsig#,KeyInfoType', base type name='anyType', content type='MIXED', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":KeyName|"http://www.w3.org/2000/09/xmldsig#":KeyValue|"http://www.w3.org/2000/09/xmldsig#":RetrievalMethod|"http://www.w3.org/2000/09/xmldsig#":X509Data|"http://www.w3.org/2000/09/xmldsig#":PGPData|"http://www.w3.org/2000/09/xmldsig#":SPKIData|"http://www.w3.org/2000/09/xmldsig#":MgmtData|(WC[##other:"http://www.w3.org/2000/09/xmldsig#"])){1-UNBOUNDED}', derivedBy='RESTRICTION'. */ static int decode_iso2KeyInfoType(bitstream_t* stream, struct iso2KeyInfoType* iso2KeyInfoType) { int grammarID = 1986; int done = 0; init_iso2KeyInfoType(iso2KeyInfoType); while(!done) { switch(grammarID) { case 1986: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->Id.charactersLen); if (errn == 0) { if (iso2KeyInfoType->Id.charactersLen >= 2) { iso2KeyInfoType->Id.charactersLen = (uint16_t)(iso2KeyInfoType->Id.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2KeyInfoType->Id.charactersLen, iso2KeyInfoType->Id.characters, iso2KeyInfoType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2KeyInfoType->Id_isUsed = 1u; grammarID = 1987; break; case 1: if (iso2KeyInfoType->KeyName.arrayLen < iso2KeyInfoType_KeyName_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen); if (errn == 0) { if (iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen >= 2) { iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen, iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].characters, iso2KeyInfoType_KeyName_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2KeyInfoType->KeyName.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1988; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: if (iso2KeyInfoType->KeyValue.arrayLen < iso2KeyInfoType_KeyValue_ARRAY_SIZE) { errn = decode_iso2KeyValueType(stream, &iso2KeyInfoType->KeyValue.array[iso2KeyInfoType->KeyValue.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1988; break; case 3: if (iso2KeyInfoType->RetrievalMethod.arrayLen < iso2KeyInfoType_RetrievalMethod_ARRAY_SIZE) { errn = decode_iso2RetrievalMethodType(stream, &iso2KeyInfoType->RetrievalMethod.array[iso2KeyInfoType->RetrievalMethod.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1988; break; case 4: if (iso2KeyInfoType->X509Data.arrayLen < iso2KeyInfoType_X509Data_ARRAY_SIZE) { errn = decode_iso2X509DataType(stream, &iso2KeyInfoType->X509Data.array[iso2KeyInfoType->X509Data.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1988; break; case 5: if (iso2KeyInfoType->PGPData.arrayLen < iso2KeyInfoType_PGPData_ARRAY_SIZE) { errn = decode_iso2PGPDataType(stream, &iso2KeyInfoType->PGPData.array[iso2KeyInfoType->PGPData.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1988; break; case 6: if (iso2KeyInfoType->SPKIData.arrayLen < iso2KeyInfoType_SPKIData_ARRAY_SIZE) { errn = decode_iso2SPKIDataType(stream, &iso2KeyInfoType->SPKIData.array[iso2KeyInfoType->SPKIData.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1988; break; case 7: if (iso2KeyInfoType->MgmtData.arrayLen < iso2KeyInfoType_MgmtData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen); if (errn == 0) { if (iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].characters, iso2KeyInfoType_MgmtData_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2KeyInfoType->MgmtData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1988; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 8: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 1988; break; case 9: errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->ANY.charactersLen); if (errn == 0) { if (iso2KeyInfoType->ANY.charactersLen >= 2) { iso2KeyInfoType->ANY.charactersLen = (uint16_t)(iso2KeyInfoType->ANY.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2KeyInfoType->ANY.charactersLen, iso2KeyInfoType->ANY.characters, iso2KeyInfoType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2KeyInfoType->ANY_isUsed = 1u; grammarID = 1989; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1987: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2KeyInfoType->KeyName.arrayLen < iso2KeyInfoType_KeyName_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen); if (errn == 0) { if (iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen >= 2) { iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen, iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].characters, iso2KeyInfoType_KeyName_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2KeyInfoType->KeyName.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1988; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: if (iso2KeyInfoType->KeyValue.arrayLen < iso2KeyInfoType_KeyValue_ARRAY_SIZE) { errn = decode_iso2KeyValueType(stream, &iso2KeyInfoType->KeyValue.array[iso2KeyInfoType->KeyValue.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1988; break; case 2: if (iso2KeyInfoType->RetrievalMethod.arrayLen < iso2KeyInfoType_RetrievalMethod_ARRAY_SIZE) { errn = decode_iso2RetrievalMethodType(stream, &iso2KeyInfoType->RetrievalMethod.array[iso2KeyInfoType->RetrievalMethod.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1988; break; case 3: if (iso2KeyInfoType->X509Data.arrayLen < iso2KeyInfoType_X509Data_ARRAY_SIZE) { errn = decode_iso2X509DataType(stream, &iso2KeyInfoType->X509Data.array[iso2KeyInfoType->X509Data.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1988; break; case 4: if (iso2KeyInfoType->PGPData.arrayLen < iso2KeyInfoType_PGPData_ARRAY_SIZE) { errn = decode_iso2PGPDataType(stream, &iso2KeyInfoType->PGPData.array[iso2KeyInfoType->PGPData.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1988; break; case 5: if (iso2KeyInfoType->SPKIData.arrayLen < iso2KeyInfoType_SPKIData_ARRAY_SIZE) { errn = decode_iso2SPKIDataType(stream, &iso2KeyInfoType->SPKIData.array[iso2KeyInfoType->SPKIData.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1988; break; case 6: if (iso2KeyInfoType->MgmtData.arrayLen < iso2KeyInfoType_MgmtData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen); if (errn == 0) { if (iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].characters, iso2KeyInfoType_MgmtData_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2KeyInfoType->MgmtData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1988; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 7: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 1988; break; case 8: errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->ANY.charactersLen); if (errn == 0) { if (iso2KeyInfoType->ANY.charactersLen >= 2) { iso2KeyInfoType->ANY.charactersLen = (uint16_t)(iso2KeyInfoType->ANY.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2KeyInfoType->ANY.charactersLen, iso2KeyInfoType->ANY.characters, iso2KeyInfoType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2KeyInfoType->ANY_isUsed = 1u; grammarID = 1989; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1988: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, END_ELEMENT, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2KeyInfoType->KeyName.arrayLen < iso2KeyInfoType_KeyName_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen); if (errn == 0) { if (iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen >= 2) { iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen, iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].characters, iso2KeyInfoType_KeyName_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2KeyInfoType->KeyName.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1988; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: if (iso2KeyInfoType->KeyValue.arrayLen < iso2KeyInfoType_KeyValue_ARRAY_SIZE) { errn = decode_iso2KeyValueType(stream, &iso2KeyInfoType->KeyValue.array[iso2KeyInfoType->KeyValue.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1988; break; case 2: if (iso2KeyInfoType->RetrievalMethod.arrayLen < iso2KeyInfoType_RetrievalMethod_ARRAY_SIZE) { errn = decode_iso2RetrievalMethodType(stream, &iso2KeyInfoType->RetrievalMethod.array[iso2KeyInfoType->RetrievalMethod.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1988; break; case 3: if (iso2KeyInfoType->X509Data.arrayLen < iso2KeyInfoType_X509Data_ARRAY_SIZE) { errn = decode_iso2X509DataType(stream, &iso2KeyInfoType->X509Data.array[iso2KeyInfoType->X509Data.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1988; break; case 4: if (iso2KeyInfoType->PGPData.arrayLen < iso2KeyInfoType_PGPData_ARRAY_SIZE) { errn = decode_iso2PGPDataType(stream, &iso2KeyInfoType->PGPData.array[iso2KeyInfoType->PGPData.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1988; break; case 5: if (iso2KeyInfoType->SPKIData.arrayLen < iso2KeyInfoType_SPKIData_ARRAY_SIZE) { errn = decode_iso2SPKIDataType(stream, &iso2KeyInfoType->SPKIData.array[iso2KeyInfoType->SPKIData.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1988; break; case 6: if (iso2KeyInfoType->MgmtData.arrayLen < iso2KeyInfoType_MgmtData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen); if (errn == 0) { if (iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].characters, iso2KeyInfoType_MgmtData_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2KeyInfoType->MgmtData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1988; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 7: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 1988; break; case 8: done = 1; grammarID = 4; break; case 9: errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->ANY.charactersLen); if (errn == 0) { if (iso2KeyInfoType->ANY.charactersLen >= 2) { iso2KeyInfoType->ANY.charactersLen = (uint16_t)(iso2KeyInfoType->ANY.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2KeyInfoType->ANY.charactersLen, iso2KeyInfoType->ANY.characters, iso2KeyInfoType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2KeyInfoType->ANY_isUsed = 1u; grammarID = 1988; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1989: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT_GENERIC, CHARACTERS_GENERIC[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 4, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2KeyInfoType->KeyName.arrayLen < iso2KeyInfoType_KeyName_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen); if (errn == 0) { if (iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen >= 2) { iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen = (uint16_t)(iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].charactersLen, iso2KeyInfoType->KeyName.array[iso2KeyInfoType->KeyName.arrayLen].characters, iso2KeyInfoType_KeyName_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2KeyInfoType->KeyName.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1988; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: if (iso2KeyInfoType->KeyValue.arrayLen < iso2KeyInfoType_KeyValue_ARRAY_SIZE) { errn = decode_iso2KeyValueType(stream, &iso2KeyInfoType->KeyValue.array[iso2KeyInfoType->KeyValue.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1988; break; case 2: if (iso2KeyInfoType->RetrievalMethod.arrayLen < iso2KeyInfoType_RetrievalMethod_ARRAY_SIZE) { errn = decode_iso2RetrievalMethodType(stream, &iso2KeyInfoType->RetrievalMethod.array[iso2KeyInfoType->RetrievalMethod.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1988; break; case 3: if (iso2KeyInfoType->X509Data.arrayLen < iso2KeyInfoType_X509Data_ARRAY_SIZE) { errn = decode_iso2X509DataType(stream, &iso2KeyInfoType->X509Data.array[iso2KeyInfoType->X509Data.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1988; break; case 4: if (iso2KeyInfoType->PGPData.arrayLen < iso2KeyInfoType_PGPData_ARRAY_SIZE) { errn = decode_iso2PGPDataType(stream, &iso2KeyInfoType->PGPData.array[iso2KeyInfoType->PGPData.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1988; break; case 5: if (iso2KeyInfoType->SPKIData.arrayLen < iso2KeyInfoType_SPKIData_ARRAY_SIZE) { errn = decode_iso2SPKIDataType(stream, &iso2KeyInfoType->SPKIData.array[iso2KeyInfoType->SPKIData.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1988; break; case 6: if (iso2KeyInfoType->MgmtData.arrayLen < iso2KeyInfoType_MgmtData_ARRAY_SIZE) { /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen); if (errn == 0) { if (iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen >= 2) { iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen = (uint16_t)(iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].charactersLen, iso2KeyInfoType->MgmtData.array[iso2KeyInfoType->MgmtData.arrayLen].characters, iso2KeyInfoType_MgmtData_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2KeyInfoType->MgmtData.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1988; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 7: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 1988; break; case 8: errn = decodeUnsignedInteger16(stream, &iso2KeyInfoType->ANY.charactersLen); if (errn == 0) { if (iso2KeyInfoType->ANY.charactersLen >= 2) { iso2KeyInfoType->ANY.charactersLen = (uint16_t)(iso2KeyInfoType->ANY.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2KeyInfoType->ANY.charactersLen, iso2KeyInfoType->ANY.characters, iso2KeyInfoType_ANY_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2KeyInfoType->ANY_isUsed = 1u; grammarID = 1989; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SubCertificatesType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":Certificate{1-4})', derivedBy='RESTRICTION'. */ static int decode_iso2SubCertificatesType(bitstream_t* stream, struct iso2SubCertificatesType* iso2SubCertificatesType) { int grammarID = 1990; int done = 0; init_iso2SubCertificatesType(iso2SubCertificatesType); while(!done) { switch(grammarID) { case 1990: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SubCertificatesType->Certificate.arrayLen < iso2SubCertificatesType_Certificate_ARRAY_SIZE) { /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen); if (errn == 0) { errn = (iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen) <= iso2SubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytes); } iso2SubCertificatesType->Certificate.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1991; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1991: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SubCertificatesType->Certificate.arrayLen < iso2SubCertificatesType_Certificate_ARRAY_SIZE) { /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen); if (errn == 0) { errn = (iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen) <= iso2SubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytes); } iso2SubCertificatesType->Certificate.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1992; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1992: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SubCertificatesType->Certificate.arrayLen < iso2SubCertificatesType_Certificate_ARRAY_SIZE) { /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen); if (errn == 0) { errn = (iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen) <= iso2SubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytes); } iso2SubCertificatesType->Certificate.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1993; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1993: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SubCertificatesType->Certificate.arrayLen < iso2SubCertificatesType_Certificate_ARRAY_SIZE) { /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen); if (errn == 0) { errn = (iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen) <= iso2SubCertificatesType_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytesLen, iso2SubCertificatesType->Certificate.array[iso2SubCertificatesType->Certificate.arrayLen].bytes); } iso2SubCertificatesType->Certificate.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ListOfRootCertificateIDsType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":RootCertificateID{1-20})', derivedBy='RESTRICTION'. */ static int decode_iso2ListOfRootCertificateIDsType(bitstream_t* stream, struct iso2ListOfRootCertificateIDsType* iso2ListOfRootCertificateIDsType) { int grammarID = 1994; int done = 0; init_iso2ListOfRootCertificateIDsType(iso2ListOfRootCertificateIDsType); while(!done) { switch(grammarID) { case 1994: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1995; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1995: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1996; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1996: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1997; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1997: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1998; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1998: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1999; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1999: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2000; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2000: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2001; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2001: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2002; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2002: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2003; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2003: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2004; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2004: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2005; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2005: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2006; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2006: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2007; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2007: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2008; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2008: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2009; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2009: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2010; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2010: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2011; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2011: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2012; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2012: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2013; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2013: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen < iso2ListOfRootCertificateIDsType_RootCertificateID_ARRAY_SIZE) { errn = decode_iso2X509IssuerSerialType(stream, &iso2ListOfRootCertificateIDsType->RootCertificateID.array[iso2ListOfRootCertificateIDsType->RootCertificateID.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EVEnergyTransferParameterType', base type name='anyType', content type='ELEMENT', isAbstract='true', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":DepartureTime)', derivedBy='RESTRICTION'. */ static int decode_iso2EVEnergyTransferParameterType(bitstream_t* stream, struct iso2EVEnergyTransferParameterType* iso2EVEnergyTransferParameterType) { int grammarID = 2014; int done = 0; init_iso2EVEnergyTransferParameterType(iso2EVEnergyTransferParameterType); while(!done) { switch(grammarID) { case 2014: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger32(stream, &iso2EVEnergyTransferParameterType->DepartureTime); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ContractSignatureEncryptedPrivateKeyType', base type name='encryptedPrivateKeyType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ static int decode_iso2ContractSignatureEncryptedPrivateKeyType(bitstream_t* stream, struct iso2ContractSignatureEncryptedPrivateKeyType* iso2ContractSignatureEncryptedPrivateKeyType) { int grammarID = 2015; int done = 0; init_iso2ContractSignatureEncryptedPrivateKeyType(iso2ContractSignatureEncryptedPrivateKeyType); while(!done) { switch(grammarID) { case 2015: /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Id)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2ContractSignatureEncryptedPrivateKeyType->Id.charactersLen); if (errn == 0) { if (iso2ContractSignatureEncryptedPrivateKeyType->Id.charactersLen >= 2) { iso2ContractSignatureEncryptedPrivateKeyType->Id.charactersLen = (uint16_t)(iso2ContractSignatureEncryptedPrivateKeyType->Id.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2ContractSignatureEncryptedPrivateKeyType->Id.charactersLen, iso2ContractSignatureEncryptedPrivateKeyType->Id.characters, iso2ContractSignatureEncryptedPrivateKeyType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } grammarID = 2016; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2016: /* StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2ContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen); if (errn == 0) { errn = (iso2ContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen) <= iso2ContractSignatureEncryptedPrivateKeyType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2ContractSignatureEncryptedPrivateKeyType->CONTENT.bytesLen, iso2ContractSignatureEncryptedPrivateKeyType->CONTENT.bytes); } grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,MagneticVectorSetupListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":MagneticVectorSetup{1-255})', derivedBy='RESTRICTION'. */ static int decode_iso2MagneticVectorSetupListType(bitstream_t* stream, struct iso2MagneticVectorSetupListType* iso2MagneticVectorSetupListType) { int grammarID = 2017; int done = 0; init_iso2MagneticVectorSetupListType(iso2MagneticVectorSetupListType); while(!done) { switch(grammarID) { case 2017: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2018; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2018: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2019; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2019: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2020; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2020: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2021; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2021: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2022; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2022: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2023; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2023: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2024; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2024: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2025; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2025: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2026; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2026: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2027; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2027: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2028; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2028: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2029; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2029: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2030; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2030: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2031; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2031: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2032; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2032: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2033; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2033: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2034; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2034: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2035; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2035: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2036; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2036: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2037; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2037: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2038; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2038: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2039; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2039: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2040; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2040: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2041; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2041: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2042; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2042: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2043; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2043: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2044; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2044: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2045; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2045: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2046; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2046: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2047; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2047: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2048; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2048: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2049; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2049: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2050; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2050: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2051; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2051: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2052; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2052: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2053; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2053: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2054; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2054: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2055; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2055: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2056; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2056: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2057; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2057: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2058; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2058: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2059; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2059: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2060; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2060: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2061; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2061: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2062; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2062: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2063; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2063: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2064; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2064: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2065; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2065: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2066; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2066: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2067; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2067: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2068; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2068: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2069; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2069: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2070; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2070: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2071; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2071: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2072; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2072: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2073; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2073: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2074; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2074: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2075; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2075: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2076; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2076: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2077; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2077: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2078; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2078: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2079; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2079: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2080; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2080: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2081; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2081: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2082; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2082: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2083; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2083: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2084; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2084: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2085; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2085: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2086; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2086: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2087; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2087: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2088; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2088: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2089; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2089: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2090; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2090: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2091; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2091: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2092; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2092: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2093; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2093: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2094; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2094: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2095; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2095: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2096; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2096: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2097; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2097: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2098; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2098: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2099; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2099: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2100; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2100: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2101; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2101: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2102; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2102: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2103; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2103: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2104; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2104: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2105; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2105: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2106; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2106: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2107; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2107: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2108; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2108: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2109; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2109: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2110; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2110: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2111; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2111: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2112; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2112: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2113; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2113: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2114; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2114: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2115; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2115: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2116; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2116: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2117; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2117: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2118; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2118: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2119; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2119: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2120; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2120: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2121; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2121: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2122; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2122: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2123; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2123: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2124; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2124: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2125; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2125: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2126; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2126: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2127; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2127: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2128; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2128: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2129; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2129: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2130; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2130: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2131; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2131: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2132; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2132: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2133; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2133: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2134; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2134: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2135; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2135: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2136; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2136: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2137; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2137: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2138; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2138: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2139; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2139: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2140; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2140: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2141; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2141: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2142; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2142: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2143; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2143: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2144; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2144: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2145; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2145: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2146; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2146: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2147; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2147: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2148; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2148: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2149; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2149: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2150; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2150: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2151; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2151: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2152; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2152: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2153; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2153: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2154; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2154: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2155; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2155: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2156; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2156: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2157; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2157: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2158; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2158: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2159; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2159: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2160; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2160: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2161; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2161: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2162; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2162: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2163; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2163: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2164; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2164: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2165; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2165: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2166; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2166: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2167; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2167: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2168; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2168: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2169; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2169: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2170; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2170: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2171; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2171: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2172; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2172: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2173; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2173: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2174; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2174: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2175; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2175: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2176; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2176: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2177; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2177: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2178; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2178: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2179; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2179: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2180; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2180: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2181; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2181: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2182; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2182: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2183; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2183: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2184; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2184: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2185; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2185: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2186; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2186: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2187; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2187: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2188; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2188: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2189; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2189: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2190; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2190: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2191; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2191: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2192; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2192: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2193; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2193: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2194; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2194: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2195; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2195: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2196; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2196: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2197; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2197: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2198; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2198: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2199; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2199: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2200; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2200: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2201; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2201: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2202; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2202: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2203; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2203: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2204; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2204: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2205; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2205: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2206; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2206: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2207; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2207: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2208; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2208: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2209; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2209: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2210; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2210: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2211; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2211: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2212; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2212: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2213; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2213: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2214; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2214: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2215; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2215: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2216; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2216: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2217; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2217: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2218; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2218: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2219; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2219: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2220; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2220: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2221; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2221: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2222; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2222: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2223; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2223: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2224; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2224: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2225; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2225: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2226; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2226: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2227; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2227: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2228; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2228: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2229; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2229: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2230; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2230: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2231; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2231: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2232; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2232: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2233; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2233: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2234; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2234: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2235; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2235: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2236; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2236: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2237; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2237: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2238; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2238: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2239; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2239: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2240; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2240: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2241; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2241: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2242; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2242: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2243; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2243: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2244; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2244: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2245; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2245: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2246; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2246: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2247; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2247: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2248; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2248: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2249; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2249: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2250; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2250: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2251; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2251: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2252; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2252: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2253; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2253: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2254; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2254: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2255; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2255: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2256; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2256: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2257; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2257: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2258; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2258: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2259; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2259: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2260; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2260: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2261; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2261: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2262; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2262: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2263; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2263: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2264; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2264: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2265; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2265: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2266; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2266: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2267; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2267: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2268; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2268: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2269; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2269: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2270; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2270: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2271; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2271: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen < iso2MagneticVectorSetupListType_MagneticVectorSetup_ARRAY_SIZE) { errn = decode_iso2MagneticVectorSetupType(stream, &iso2MagneticVectorSetupListType->MagneticVectorSetup.array[iso2MagneticVectorSetupListType->MagneticVectorSetup.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,PairingReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVProcessing,"urn:iso:15118:2:2016:MsgBody":PairingParameters{0-1})', derivedBy='EXTENSION'. */ static int decode_iso2PairingReqType(bitstream_t* stream, struct iso2PairingReqType* iso2PairingReqType) { int grammarID = 2272; int done = 0; init_iso2PairingReqType(iso2PairingReqType); while(!done) { switch(grammarID) { case 2272: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2PairingReqType->EVProcessing = (iso2EVSEProcessingType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1827; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1827: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingParameters), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2ParameterSetType(stream, &iso2PairingReqType->PairingParameters); iso2PairingReqType->PairingParameters_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,CurrentDemandResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEPresentCurrent,"urn:iso:15118:2:2016:MsgBody":EVSEPresentVoltage,"urn:iso:15118:2:2016:MsgBody":EVSEPowerLimitAchieved,"urn:iso:15118:2:2016:MsgBody":EVSECurrentLimitAchieved,"urn:iso:15118:2:2016:MsgBody":EVSEVoltageLimitAchieved,"urn:iso:15118:2:2016:MsgBody":EVSEMaximumPower{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEMaximumCurrent{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEMaximumVoltage{0-1},"urn:iso:15118:2:2016:MsgBody":EVSEID,"urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2016:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2016:MsgBody":ReceiptRequired{0-1}))', derivedBy='EXTENSION'. */ static int decode_iso2CurrentDemandResType(bitstream_t* stream, struct iso2CurrentDemandResType* iso2CurrentDemandResType) { int grammarID = 2273; int done = 0; init_iso2CurrentDemandResType(iso2CurrentDemandResType); while(!done) { switch(grammarID) { case 2273: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2CurrentDemandResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2274; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2274: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2CurrentDemandResType->EVSEStatus); iso2CurrentDemandResType->EVSEStatus_isUsed = 1u; grammarID = 2275; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEPresentCurrent); grammarID = 2276; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2275: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEPresentCurrent); grammarID = 2276; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2276: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEPresentVoltage); grammarID = 2277; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2277: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2CurrentDemandResType->EVSEPowerLimitAchieved); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2278; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2278: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2CurrentDemandResType->EVSECurrentLimitAchieved); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2279; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2279: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2CurrentDemandResType->EVSEVoltageLimitAchieved); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2280; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2280: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumPower); iso2CurrentDemandResType->EVSEMaximumPower_isUsed = 1u; grammarID = 2281; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumCurrent); iso2CurrentDemandResType->EVSEMaximumCurrent_isUsed = 1u; grammarID = 2282; break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumVoltage); iso2CurrentDemandResType->EVSEMaximumVoltage_isUsed = 1u; grammarID = 27; break; case 3: /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2CurrentDemandResType->EVSEID.charactersLen); if (errn == 0) { if (iso2CurrentDemandResType->EVSEID.charactersLen >= 2) { iso2CurrentDemandResType->EVSEID.charactersLen = (uint16_t)(iso2CurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2CurrentDemandResType->EVSEID.charactersLen, iso2CurrentDemandResType->EVSEID.characters, iso2CurrentDemandResType_EVSEID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 28; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2281: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumCurrent); iso2CurrentDemandResType->EVSEMaximumCurrent_isUsed = 1u; grammarID = 2282; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumVoltage); iso2CurrentDemandResType->EVSEMaximumVoltage_isUsed = 1u; grammarID = 27; break; case 2: /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2CurrentDemandResType->EVSEID.charactersLen); if (errn == 0) { if (iso2CurrentDemandResType->EVSEID.charactersLen >= 2) { iso2CurrentDemandResType->EVSEID.charactersLen = (uint16_t)(iso2CurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2CurrentDemandResType->EVSEID.charactersLen, iso2CurrentDemandResType->EVSEID.characters, iso2CurrentDemandResType_EVSEID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 28; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2282: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2CurrentDemandResType->EVSEMaximumVoltage); iso2CurrentDemandResType->EVSEMaximumVoltage_isUsed = 1u; grammarID = 27; break; case 1: /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2CurrentDemandResType->EVSEID.charactersLen); if (errn == 0) { if (iso2CurrentDemandResType->EVSEID.charactersLen >= 2) { iso2CurrentDemandResType->EVSEID.charactersLen = (uint16_t)(iso2CurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2CurrentDemandResType->EVSEID.charactersLen, iso2CurrentDemandResType->EVSEID.characters, iso2CurrentDemandResType_EVSEID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 28; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 27: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2CurrentDemandResType->EVSEID.charactersLen); if (errn == 0) { if (iso2CurrentDemandResType->EVSEID.charactersLen >= 2) { iso2CurrentDemandResType->EVSEID.charactersLen = (uint16_t)(iso2CurrentDemandResType->EVSEID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2CurrentDemandResType->EVSEID.charactersLen, iso2CurrentDemandResType->EVSEID.characters, iso2CurrentDemandResType_EVSEID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 28; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 28: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2CurrentDemandResType->SAScheduleTupleID = (uint8_t)(uint32 + 1); iso2CurrentDemandResType->SAScheduleTupleID_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 29; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: errn = decode_iso2MeterInfoType(stream, &iso2CurrentDemandResType->MeterInfo); iso2CurrentDemandResType->MeterInfo_isUsed = 1u; grammarID = 30; break; case 2: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2CurrentDemandResType->ReceiptRequired); iso2CurrentDemandResType->ReceiptRequired_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 29: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2MeterInfoType(stream, &iso2CurrentDemandResType->MeterInfo); iso2CurrentDemandResType->MeterInfo_isUsed = 1u; grammarID = 30; break; case 1: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2CurrentDemandResType->ReceiptRequired); iso2CurrentDemandResType->ReceiptRequired_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 30: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2CurrentDemandResType->ReceiptRequired); iso2CurrentDemandResType->ReceiptRequired_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='http://www.w3.org/2000/09/xmldsig#,X509IssuerSerialType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":X509IssuerName,"http://www.w3.org/2000/09/xmldsig#":X509SerialNumber)', derivedBy='RESTRICTION'. */ static int decode_iso2X509IssuerSerialType(bitstream_t* stream, struct iso2X509IssuerSerialType* iso2X509IssuerSerialType) { int grammarID = 2283; int done = 0; init_iso2X509IssuerSerialType(iso2X509IssuerSerialType); while(!done) { switch(grammarID) { case 2283: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2X509IssuerSerialType->X509IssuerName.charactersLen); if (errn == 0) { if (iso2X509IssuerSerialType->X509IssuerName.charactersLen >= 2) { iso2X509IssuerSerialType->X509IssuerName.charactersLen = (uint16_t)(iso2X509IssuerSerialType->X509IssuerName.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2X509IssuerSerialType->X509IssuerName.charactersLen, iso2X509IssuerSerialType->X509IssuerName.characters, iso2X509IssuerSerialType_X509IssuerName_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2284; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2284: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger64(stream, &iso2X509IssuerSerialType->X509SerialNumber); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,ChargingStatusReqType', base type name='ChargeLoopReqType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":EVTargetEnergyRequest,"urn:iso:15118:2:2016:MsgBody":EVMaximumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":EVMinimumEnergyRequest{0-1},"urn:iso:15118:2:2016:MsgBody":DisplayParameters{0-1}),("urn:iso:15118:2:2016:MsgBody":EVMaximumChargePower{0-1},"urn:iso:15118:2:2016:MsgBody":EVMaximumChargeCurrent{0-1},"urn:iso:15118:2:2016:MsgBody":EVMinimumChargeCurrent{0-1}))', derivedBy='EXTENSION'. */ static int decode_iso2ChargingStatusReqType(bitstream_t* stream, struct iso2ChargingStatusReqType* iso2ChargingStatusReqType) { int grammarID = 2285; int done = 0; init_iso2ChargingStatusReqType(iso2ChargingStatusReqType); while(!done) { switch(grammarID) { case 2285: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVTargetEnergyRequest); grammarID = 2286; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2286: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumEnergyRequest); iso2ChargingStatusReqType->EVMaximumEnergyRequest_isUsed = 1u; grammarID = 2287; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumEnergyRequest); iso2ChargingStatusReqType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 2288; break; case 2: errn = decode_iso2DisplayParametersType(stream, &iso2ChargingStatusReqType->DisplayParameters); iso2ChargingStatusReqType->DisplayParameters_isUsed = 1u; grammarID = 2289; break; case 3: errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargePower); iso2ChargingStatusReqType->EVMaximumChargePower_isUsed = 1u; grammarID = 2290; break; case 4: errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent); iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 1u; grammarID = 2291; break; case 5: errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent); iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 1u; grammarID = 3; break; case 6: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2287: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumEnergyRequest); iso2ChargingStatusReqType->EVMinimumEnergyRequest_isUsed = 1u; grammarID = 2288; break; case 1: errn = decode_iso2DisplayParametersType(stream, &iso2ChargingStatusReqType->DisplayParameters); iso2ChargingStatusReqType->DisplayParameters_isUsed = 1u; grammarID = 2289; break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargePower); iso2ChargingStatusReqType->EVMaximumChargePower_isUsed = 1u; grammarID = 2290; break; case 3: errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent); iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 1u; grammarID = 2291; break; case 4: errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent); iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 1u; grammarID = 3; break; case 5: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2288: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2DisplayParametersType(stream, &iso2ChargingStatusReqType->DisplayParameters); iso2ChargingStatusReqType->DisplayParameters_isUsed = 1u; grammarID = 2289; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargePower); iso2ChargingStatusReqType->EVMaximumChargePower_isUsed = 1u; grammarID = 2290; break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent); iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 1u; grammarID = 2291; break; case 3: errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent); iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 1u; grammarID = 3; break; case 4: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2289: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargePower); iso2ChargingStatusReqType->EVMaximumChargePower_isUsed = 1u; grammarID = 2290; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent); iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 1u; grammarID = 2291; break; case 2: errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent); iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 1u; grammarID = 3; break; case 3: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2290: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMaximumChargeCurrent); iso2ChargingStatusReqType->EVMaximumChargeCurrent_isUsed = 1u; grammarID = 2291; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent); iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 1u; grammarID = 3; break; case 2: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2291: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2ChargingStatusReqType->EVMinimumChargeCurrent); iso2ChargingStatusReqType->EVMinimumChargeCurrent_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,CertificateInstallationResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":SAProvisioningCertificateChain,"urn:iso:15118:2:2016:MsgBody":ContractSignatureCertChain,"urn:iso:15118:2:2016:MsgBody":ContractSignatureEncryptedPrivateKey,"urn:iso:15118:2:2016:MsgBody":DHpublickey,"urn:iso:15118:2:2016:MsgBody":eMAID))', derivedBy='EXTENSION'. */ static int decode_iso2CertificateInstallationResType(bitstream_t* stream, struct iso2CertificateInstallationResType* iso2CertificateInstallationResType) { int grammarID = 2292; int done = 0; init_iso2CertificateInstallationResType(iso2CertificateInstallationResType); while(!done) { switch(grammarID) { case 2292: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2CertificateInstallationResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2293; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2293: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2CertificateInstallationResType->EVSEStatus); iso2CertificateInstallationResType->EVSEStatus_isUsed = 1u; grammarID = 2294; break; case 1: errn = decode_iso2CertificateChainType(stream, &iso2CertificateInstallationResType->SAProvisioningCertificateChain); grammarID = 2295; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2294: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2CertificateChainType(stream, &iso2CertificateInstallationResType->SAProvisioningCertificateChain); grammarID = 2295; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2295: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2CertificateChainType(stream, &iso2CertificateInstallationResType->ContractSignatureCertChain); grammarID = 2296; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2296: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2ContractSignatureEncryptedPrivateKeyType(stream, &iso2CertificateInstallationResType->ContractSignatureEncryptedPrivateKey); grammarID = 2297; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2297: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2DiffieHellmanPublickeyType(stream, &iso2CertificateInstallationResType->DHpublickey); grammarID = 2298; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2298: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EMAIDType(stream, &iso2CertificateInstallationResType->eMAID); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorPackageType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":PackageIndex,"urn:iso:15118:2:2016:MsgDataTypes":SensorMeasurements{1-255})', derivedBy='RESTRICTION'. */ static int decode_iso2SensorPackageType(bitstream_t* stream, struct iso2SensorPackageType* iso2SensorPackageType) { int grammarID = 2299; int done = 0; init_iso2SensorPackageType(iso2SensorPackageType); while(!done) { switch(grammarID) { case 2299: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageIndex)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger32(stream, &iso2SensorPackageType->PackageIndex); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageIndex) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2300; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2300: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2301; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2301: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2302; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2302: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2303; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2303: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2304; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2304: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2305; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2305: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2306; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2306: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2307; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2307: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2308; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2308: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2309; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2309: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2310; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2310: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2311; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2311: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2312; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2312: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2313; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2313: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2314; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2314: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2315; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2315: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2316; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2316: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2317; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2317: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2318; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2318: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2319; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2319: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2320; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2320: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2321; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2321: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2322; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2322: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2323; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2323: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2324; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2324: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2325; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2325: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2326; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2326: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2327; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2327: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2328; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2328: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2329; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2329: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2330; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2330: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2331; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2331: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2332; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2332: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2333; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2333: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2334; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2334: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2335; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2335: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2336; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2336: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2337; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2337: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2338; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2338: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2339; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2339: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2340; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2340: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2341; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2341: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2342; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2342: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2343; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2343: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2344; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2344: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2345; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2345: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2346; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2346: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2347; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2347: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2348; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2348: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2349; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2349: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2350; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2350: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2351; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2351: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2352; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2352: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2353; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2353: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2354; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2354: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2355; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2355: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2356; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2356: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2357; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2357: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2358; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2358: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2359; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2359: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2360; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2360: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2361; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2361: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2362; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2362: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2363; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2363: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2364; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2364: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2365; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2365: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2366; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2366: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2367; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2367: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2368; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2368: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2369; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2369: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2370; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2370: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2371; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2371: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2372; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2372: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2373; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2373: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2374; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2374: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2375; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2375: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2376; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2376: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2377; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2377: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2378; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2378: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2379; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2379: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2380; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2380: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2381; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2381: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2382; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2382: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2383; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2383: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2384; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2384: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2385; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2385: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2386; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2386: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2387; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2387: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2388; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2388: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2389; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2389: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2390; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2390: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2391; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2391: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2392; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2392: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2393; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2393: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2394; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2394: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2395; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2395: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2396; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2396: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2397; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2397: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2398; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2398: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2399; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2399: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2400; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2400: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2401; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2401: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2402; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2402: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2403; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2403: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2404; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2404: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2405; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2405: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2406; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2406: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2407; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2407: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2408; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2408: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2409; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2409: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2410; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2410: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2411; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2411: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2412; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2412: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2413; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2413: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2414; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2414: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2415; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2415: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2416; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2416: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2417; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2417: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2418; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2418: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2419; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2419: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2420; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2420: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2421; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2421: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2422; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2422: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2423; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2423: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2424; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2424: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2425; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2425: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2426; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2426: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2427; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2427: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2428; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2428: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2429; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2429: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2430; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2430: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2431; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2431: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2432; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2432: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2433; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2433: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2434; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2434: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2435; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2435: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2436; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2436: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2437; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2437: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2438; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2438: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2439; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2439: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2440; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2440: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2441; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2441: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2442; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2442: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2443; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2443: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2444; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2444: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2445; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2445: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2446; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2446: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2447; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2447: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2448; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2448: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2449; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2449: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2450; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2450: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2451; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2451: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2452; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2452: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2453; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2453: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2454; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2454: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2455; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2455: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2456; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2456: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2457; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2457: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2458; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2458: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2459; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2459: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2460; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2460: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2461; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2461: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2462; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2462: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2463; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2463: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2464; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2464: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2465; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2465: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2466; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2466: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2467; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2467: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2468; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2468: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2469; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2469: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2470; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2470: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2471; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2471: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2472; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2472: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2473; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2473: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2474; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2474: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2475; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2475: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2476; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2476: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2477; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2477: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2478; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2478: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2479; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2479: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2480; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2480: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2481; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2481: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2482; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2482: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2483; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2483: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2484; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2484: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2485; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2485: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2486; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2486: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2487; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2487: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2488; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2488: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2489; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2489: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2490; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2490: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2491; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2491: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2492; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2492: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2493; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2493: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2494; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2494: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2495; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2495: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2496; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2496: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2497; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2497: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2498; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2498: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2499; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2499: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2500; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2500: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2501; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2501: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2502; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2502: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2503; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2503: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2504; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2504: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2505; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2505: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2506; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2506: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2507; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2507: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2508; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2508: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2509; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2509: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2510; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2510: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2511; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2511: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2512; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2512: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2513; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2513: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2514; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2514: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2515; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2515: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2516; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2516: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2517; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2517: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2518; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2518: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2519; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2519: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2520; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2520: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2521; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2521: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2522; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2522: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2523; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2523: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2524; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2524: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2525; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2525: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2526; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2526: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2527; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2527: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2528; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2528: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2529; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2529: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2530; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2530: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2531; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2531: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2532; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2532: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2533; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2533: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2534; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2534: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2535; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2535: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2536; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2536: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2537; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2537: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2538; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2538: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2539; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2539: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2540; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2540: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2541; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2541: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2542; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2542: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2543; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2543: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2544; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2544: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2545; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2545: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2546; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2546: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2547; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2547: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2548; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2548: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2549; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2549: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2550; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2550: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2551; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2551: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2552; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2552: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2553; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2553: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2554; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2554: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SensorPackageType->SensorMeasurements.arrayLen < iso2SensorPackageType_SensorMeasurements_ARRAY_SIZE) { errn = decode_iso2SensorMeasurementsType(stream, &iso2SensorPackageType->SensorMeasurements.array[iso2SensorPackageType->SensorMeasurements.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='http://www.w3.org/2000/09/xmldsig#,PGPDataType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("http://www.w3.org/2000/09/xmldsig#":PGPKeyID,"http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket{0-1},(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED})|("http://www.w3.org/2000/09/xmldsig#":PGPKeyPacket,(WC[##other:"http://www.w3.org/2000/09/xmldsig#"]){0-UNBOUNDED}))', derivedBy='RESTRICTION'. */ static int decode_iso2PGPDataType(bitstream_t* stream, struct iso2PGPDataType* iso2PGPDataType) { int grammarID = 2555; int done = 0; init_iso2PGPDataType(iso2PGPDataType); while(!done) { switch(grammarID) { case 2555: /* FirstStartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2PGPDataType->PGPKeyID.bytesLen); if (errn == 0) { errn = (iso2PGPDataType->PGPKeyID.bytesLen) <= iso2PGPDataType_PGPKeyID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2PGPDataType->PGPKeyID.bytesLen, iso2PGPDataType->PGPKeyID.bytes); } iso2PGPDataType->PGPKeyID_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2556; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2PGPDataType->PGPKeyPacket.bytesLen); if (errn == 0) { errn = (iso2PGPDataType->PGPKeyPacket.bytesLen) <= iso2PGPDataType_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2PGPDataType->PGPKeyPacket.bytesLen, iso2PGPDataType->PGPKeyPacket.bytes); } iso2PGPDataType->PGPKeyPacket_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2557; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2556: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT_GENERIC, END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2PGPDataType->PGPKeyPacket.bytesLen); if (errn == 0) { errn = (iso2PGPDataType->PGPKeyPacket.bytesLen) <= iso2PGPDataType_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2PGPDataType->PGPKeyPacket.bytesLen, iso2PGPDataType->PGPKeyPacket.bytes); } iso2PGPDataType->PGPKeyPacket_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2557; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 2557; break; case 2: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2557: /* Element[START_ELEMENT_GENERIC, END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; /* TODO unsupported event : START_ELEMENT_GENERIC */ grammarID = 2557; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,ServiceDiscoveryResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":PaymentOptionList,"urn:iso:15118:2:2016:MsgBody":EnergyTransferServiceList,"urn:iso:15118:2:2016:MsgBody":VASList{0-1}))', derivedBy='EXTENSION'. */ static int decode_iso2ServiceDiscoveryResType(bitstream_t* stream, struct iso2ServiceDiscoveryResType* iso2ServiceDiscoveryResType) { int grammarID = 2558; int done = 0; init_iso2ServiceDiscoveryResType(iso2ServiceDiscoveryResType); while(!done) { switch(grammarID) { case 2558: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2ServiceDiscoveryResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2559; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2559: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2ServiceDiscoveryResType->EVSEStatus); iso2ServiceDiscoveryResType->EVSEStatus_isUsed = 1u; grammarID = 2560; break; case 1: errn = decode_iso2PaymentOptionListType(stream, &iso2ServiceDiscoveryResType->PaymentOptionList); grammarID = 2561; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2560: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PaymentOptionListType(stream, &iso2ServiceDiscoveryResType->PaymentOptionList); grammarID = 2561; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2561: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EnergyTransferServiceList)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2ServiceListType(stream, &iso2ServiceDiscoveryResType->EnergyTransferServiceList); grammarID = 2562; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2562: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VASList), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2ServiceListType(stream, &iso2ServiceDiscoveryResType->VASList); iso2ServiceDiscoveryResType->VASList_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ServiceIDListType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":ServiceID{1-10})', derivedBy='RESTRICTION'. */ static int decode_iso2ServiceIDListType(bitstream_t* stream, struct iso2ServiceIDListType* iso2ServiceIDListType) { int grammarID = 2563; int done = 0; init_iso2ServiceIDListType(iso2ServiceIDListType); while(!done) { switch(grammarID) { case 2563: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); iso2ServiceIDListType->ServiceID.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2564; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2564: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); iso2ServiceIDListType->ServiceID.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2565; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2565: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); iso2ServiceIDListType->ServiceID.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2566; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2566: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); iso2ServiceIDListType->ServiceID.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2567; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2567: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); iso2ServiceIDListType->ServiceID.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2568; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2568: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); iso2ServiceIDListType->ServiceID.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2569; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2569: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); iso2ServiceIDListType->ServiceID.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2570; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2570: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); iso2ServiceIDListType->ServiceID.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2571; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2571: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); iso2ServiceIDListType->ServiceID.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2572; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2572: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ServiceIDListType->ServiceID.arrayLen < iso2ServiceIDListType_ServiceID_ARRAY_SIZE) { /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2ServiceIDListType->ServiceID.array[iso2ServiceIDListType->ServiceID.arrayLen]); iso2ServiceIDListType->ServiceID.arrayLen++; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EVFinePositioningSetupParametersType', base type name='anyType', content type='EMPTY', isAbstract='true', hasTypeId='false', final='0', block='0', derivedBy='RESTRICTION'. */ static int decode_iso2EVFinePositioningSetupParametersType(bitstream_t* stream, struct iso2EVFinePositioningSetupParametersType* iso2EVFinePositioningSetupParametersType) { int grammarID = 674; int done = 0; init_iso2EVFinePositioningSetupParametersType(iso2EVFinePositioningSetupParametersType); while(!done) { switch(grammarID) { case 674: /* FirstStartTag[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,ChargeParameterDiscoveryResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing,"urn:iso:15118:2:2016:MsgBody":SAScheduleList{0-1},"urn:iso:15118:2:2016:MsgDataTypes":EVSEEnergyTransferParameter))', derivedBy='EXTENSION'. */ static int decode_iso2ChargeParameterDiscoveryResType(bitstream_t* stream, struct iso2ChargeParameterDiscoveryResType* iso2ChargeParameterDiscoveryResType) { int grammarID = 2573; int done = 0; init_iso2ChargeParameterDiscoveryResType(iso2ChargeParameterDiscoveryResType); while(!done) { switch(grammarID) { case 2573: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2ChargeParameterDiscoveryResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2574; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2574: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2ChargeParameterDiscoveryResType->EVSEStatus); iso2ChargeParameterDiscoveryResType->EVSEStatus_isUsed = 1u; grammarID = 2575; break; case 1: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2ChargeParameterDiscoveryResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2576; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2575: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2ChargeParameterDiscoveryResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2576; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2576: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2SAScheduleListType(stream, &iso2ChargeParameterDiscoveryResType->SAScheduleList); iso2ChargeParameterDiscoveryResType->SAScheduleList_isUsed = 1u; grammarID = 2577; break; case 1: errn = decode_iso2AC_EVSEBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter); iso2ChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter_isUsed = 1u; grammarID = 3; break; case 2: errn = decode_iso2AC_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->AC_EVSEChargeParameter); iso2ChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 1u; grammarID = 3; break; case 3: errn = decode_iso2DC_EVSEBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter); iso2ChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter_isUsed = 1u; grammarID = 3; break; case 4: errn = decode_iso2DC_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->DC_EVSEChargeParameter); iso2ChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 1u; grammarID = 3; break; case 5: errn = decode_iso2EVSEEnergyTransferParameterType(stream, &iso2ChargeParameterDiscoveryResType->EVSEEnergyTransferParameter); iso2ChargeParameterDiscoveryResType->EVSEEnergyTransferParameter_isUsed = 1u; grammarID = 3; break; case 6: errn = decode_iso2WPT_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->WPT_EVSEChargeParameter); iso2ChargeParameterDiscoveryResType->WPT_EVSEChargeParameter_isUsed = 1u; grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2577: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter)] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2AC_EVSEBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter); iso2ChargeParameterDiscoveryResType->AC_EVSEBidirectionalParameter_isUsed = 1u; grammarID = 3; break; case 1: errn = decode_iso2AC_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->AC_EVSEChargeParameter); iso2ChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 1u; grammarID = 3; break; case 2: errn = decode_iso2DC_EVSEBidirectionalParameterType(stream, &iso2ChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter); iso2ChargeParameterDiscoveryResType->DC_EVSEBidirectionalParameter_isUsed = 1u; grammarID = 3; break; case 3: errn = decode_iso2DC_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->DC_EVSEChargeParameter); iso2ChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 1u; grammarID = 3; break; case 4: errn = decode_iso2EVSEEnergyTransferParameterType(stream, &iso2ChargeParameterDiscoveryResType->EVSEEnergyTransferParameter); iso2ChargeParameterDiscoveryResType->EVSEEnergyTransferParameter_isUsed = 1u; grammarID = 3; break; case 5: errn = decode_iso2WPT_EVSEChargeParameterType(stream, &iso2ChargeParameterDiscoveryResType->WPT_EVSEChargeParameter); iso2ChargeParameterDiscoveryResType->WPT_EVSEChargeParameter_isUsed = 1u; grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,PowerDemandResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEOutputPower,"urn:iso:15118:2:2016:MsgBody":EVSEID,"urn:iso:15118:2:2016:MsgBody":SAScheduleTupleID{0-1},"urn:iso:15118:2:2016:MsgBody":MeterInfo{0-1},"urn:iso:15118:2:2016:MsgBody":ReceiptRequired{0-1},"urn:iso:15118:2:2016:MsgBody":PowerDemandParameters{0-1}))', derivedBy='EXTENSION'. */ static int decode_iso2PowerDemandResType(bitstream_t* stream, struct iso2PowerDemandResType* iso2PowerDemandResType) { int grammarID = 2578; int done = 0; init_iso2PowerDemandResType(iso2PowerDemandResType); while(!done) { switch(grammarID) { case 2578: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2PowerDemandResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2579; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2579: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEOutputPower)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2PowerDemandResType->EVSEStatus); iso2PowerDemandResType->EVSEStatus_isUsed = 1u; grammarID = 2580; break; case 1: errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandResType->EVSEOutputPower); grammarID = 2581; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2580: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEOutputPower)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2PhysicalValueType(stream, &iso2PowerDemandResType->EVSEOutputPower); grammarID = 2581; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2581: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2PowerDemandResType->EVSEID.charactersLen); if (errn == 0) { if (iso2PowerDemandResType->EVSEID.charactersLen >= 2) { iso2PowerDemandResType->EVSEID.charactersLen = (uint16_t)(iso2PowerDemandResType->EVSEID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2PowerDemandResType->EVSEID.charactersLen, iso2PowerDemandResType->EVSEID.characters, iso2PowerDemandResType_EVSEID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2582; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2582: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2PowerDemandResType->SAScheduleTupleID = (uint8_t)(uint32 + 1); iso2PowerDemandResType->SAScheduleTupleID_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2583; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: errn = decode_iso2MeterInfoType(stream, &iso2PowerDemandResType->MeterInfo); iso2PowerDemandResType->MeterInfo_isUsed = 1u; grammarID = 2584; break; case 2: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2PowerDemandResType->ReceiptRequired); iso2PowerDemandResType->ReceiptRequired_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1873; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 3: errn = decode_iso2ParameterSetType(stream, &iso2PowerDemandResType->PowerDemandParameters); iso2PowerDemandResType->PowerDemandParameters_isUsed = 1u; grammarID = 3; break; case 4: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2583: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2MeterInfoType(stream, &iso2PowerDemandResType->MeterInfo); iso2PowerDemandResType->MeterInfo_isUsed = 1u; grammarID = 2584; break; case 1: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2PowerDemandResType->ReceiptRequired); iso2PowerDemandResType->ReceiptRequired_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1873; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: errn = decode_iso2ParameterSetType(stream, &iso2PowerDemandResType->PowerDemandParameters); iso2PowerDemandResType->PowerDemandParameters_isUsed = 1u; grammarID = 3; break; case 3: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2584: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &iso2PowerDemandResType->ReceiptRequired); iso2PowerDemandResType->ReceiptRequired_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 1873; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: errn = decode_iso2ParameterSetType(stream, &iso2PowerDemandResType->PowerDemandParameters); iso2PowerDemandResType->PowerDemandParameters_isUsed = 1u; grammarID = 3; break; case 2: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1873: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2ParameterSetType(stream, &iso2PowerDemandResType->PowerDemandParameters); iso2PowerDemandResType->PowerDemandParameters_isUsed = 1u; grammarID = 3; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,ChargingProfileType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":ProfileEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ static int decode_iso2ChargingProfileType(bitstream_t* stream, struct iso2ChargingProfileType* iso2ChargingProfileType) { int grammarID = 2585; int done = 0; init_iso2ChargingProfileType(iso2ChargingProfileType); while(!done) { switch(grammarID) { case 2585: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ChargingProfileType->ProfileEntry.arrayLen < iso2ChargingProfileType_ProfileEntry_ARRAY_SIZE) { errn = decode_iso2PMaxScheduleEntryType(stream, &iso2ChargingProfileType->ProfileEntry.array[iso2ChargingProfileType->ProfileEntry.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2586; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2586: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2ChargingProfileType->ProfileEntry.arrayLen < iso2ChargingProfileType_ProfileEntry_ARRAY_SIZE) { errn = decode_iso2PMaxScheduleEntryType(stream, &iso2ChargingProfileType->ProfileEntry.array[iso2ChargingProfileType->ProfileEntry.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2586; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,FinePositioningReqType', base type name='BodyBaseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgBody":EVProcessing,"urn:iso:15118:2:2016:MsgDataTypes":EVFinePositioningParameters{0-1})', derivedBy='EXTENSION'. */ static int decode_iso2FinePositioningReqType(bitstream_t* stream, struct iso2FinePositioningReqType* iso2FinePositioningReqType) { int grammarID = 2587; int done = 0; init_iso2FinePositioningReqType(iso2FinePositioningReqType); while(!done) { switch(grammarID) { case 2587: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2FinePositioningReqType->EVProcessing = (iso2EVSEProcessingType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2588; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2588: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 3, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVFinePositioningParametersType(stream, &iso2FinePositioningReqType->EVFinePositioningParameters); iso2FinePositioningReqType->EVFinePositioningParameters_isUsed = 1u; grammarID = 3; break; case 1: errn = decode_iso2Generic_EVFinePositioningParametersType(stream, &iso2FinePositioningReqType->Generic_EVFinePositioningParameters); iso2FinePositioningReqType->Generic_EVFinePositioningParameters_isUsed = 1u; grammarID = 3; break; case 2: errn = decode_iso2LFA_EVFinePositioningParametersType(stream, &iso2FinePositioningReqType->LFA_EVFinePositioningParameters); iso2FinePositioningReqType->LFA_EVFinePositioningParameters_isUsed = 1u; grammarID = 3; break; case 3: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SalesTariffType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SalesTariffID,"urn:iso:15118:2:2016:MsgDataTypes":SalesTariffDescription{0-1},"urn:iso:15118:2:2016:MsgDataTypes":NumEPriceLevels{0-1},"urn:iso:15118:2:2016:MsgDataTypes":SalesTariffEntry{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ static int decode_iso2SalesTariffType(bitstream_t* stream, struct iso2SalesTariffType* iso2SalesTariffType) { int grammarID = 2589; int done = 0; init_iso2SalesTariffType(iso2SalesTariffType); while(!done) { switch(grammarID) { case 2589: /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Id)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2SalesTariffType->Id.charactersLen); if (errn == 0) { if (iso2SalesTariffType->Id.charactersLen >= 2) { iso2SalesTariffType->Id.charactersLen = (uint16_t)(iso2SalesTariffType->Id.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2SalesTariffType->Id.charactersLen, iso2SalesTariffType->Id.characters, iso2SalesTariffType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } grammarID = 2590; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2590: /* StartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SalesTariffType->SalesTariffID = (uint8_t)(uint32 + 1); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2591; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2591: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2SalesTariffType->SalesTariffDescription.charactersLen); if (errn == 0) { if (iso2SalesTariffType->SalesTariffDescription.charactersLen >= 2) { iso2SalesTariffType->SalesTariffDescription.charactersLen = (uint16_t)(iso2SalesTariffType->SalesTariffDescription.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2SalesTariffType->SalesTariffDescription.charactersLen, iso2SalesTariffType->SalesTariffDescription.characters, iso2SalesTariffType_SalesTariffDescription_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2SalesTariffType->SalesTariffDescription_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffDescription) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2592; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SalesTariffType->NumEPriceLevels = (uint8_t)(uint32 + 0); iso2SalesTariffType->NumEPriceLevels_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2593; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 2: if (iso2SalesTariffType->SalesTariffEntry.arrayLen < iso2SalesTariffType_SalesTariffEntry_ARRAY_SIZE) { errn = decode_iso2SalesTariffEntryType(stream, &iso2SalesTariffType->SalesTariffEntry.array[iso2SalesTariffType->SalesTariffEntry.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2594; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2592: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SalesTariffType->NumEPriceLevels = (uint8_t)(uint32 + 0); iso2SalesTariffType->NumEPriceLevels_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2593; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; case 1: if (iso2SalesTariffType->SalesTariffEntry.arrayLen < iso2SalesTariffType_SalesTariffEntry_ARRAY_SIZE) { errn = decode_iso2SalesTariffEntryType(stream, &iso2SalesTariffType->SalesTariffEntry.array[iso2SalesTariffType->SalesTariffEntry.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2594; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2593: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SalesTariffType->SalesTariffEntry.arrayLen < iso2SalesTariffType_SalesTariffEntry_ARRAY_SIZE) { errn = decode_iso2SalesTariffEntryType(stream, &iso2SalesTariffType->SalesTariffEntry.array[iso2SalesTariffType->SalesTariffEntry.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2594; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2594: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SalesTariffType->SalesTariffEntry.arrayLen < iso2SalesTariffType_SalesTariffEntry_ARRAY_SIZE) { errn = decode_iso2SalesTariffEntryType(stream, &iso2SalesTariffType->SalesTariffEntry.array[iso2SalesTariffType->SalesTariffEntry.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 2594; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SensorType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":SensorID,"urn:iso:15118:2:2016:MsgDataTypes":SensorPosition,"urn:iso:15118:2:2016:MsgDataTypes":SensorOrientation)', derivedBy='RESTRICTION'. */ static int decode_iso2SensorType(bitstream_t* stream, struct iso2SensorType* iso2SensorType) { int grammarID = 2595; int done = 0; init_iso2SensorType(iso2SensorType); while(!done) { switch(grammarID) { case 2595: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); iso2SensorType->SensorID = (uint8_t)(uint32 + 0); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2596; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2596: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2CartesianCoordinatesType(stream, &iso2SensorType->SensorPosition); grammarID = 2597; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2597: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrientation)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2CartesianCoordinatesType(stream, &iso2SensorType->SensorOrientation); grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignatureValueType', base type name='base64Binary', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ static int decode_iso2SignatureValueType(bitstream_t* stream, struct iso2SignatureValueType* iso2SignatureValueType) { int grammarID = 2598; int done = 0; init_iso2SignatureValueType(iso2SignatureValueType); while(!done) { switch(grammarID) { case 2598: /* FirstStartTag[ATTRIBUTE[STRING](Id), CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2SignatureValueType->Id.charactersLen); if (errn == 0) { if (iso2SignatureValueType->Id.charactersLen >= 2) { iso2SignatureValueType->Id.charactersLen = (uint16_t)(iso2SignatureValueType->Id.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2SignatureValueType->Id.charactersLen, iso2SignatureValueType->Id.characters, iso2SignatureValueType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2SignatureValueType->Id_isUsed = 1u; grammarID = 2016; break; case 1: errn = decodeUnsignedInteger16(stream, &iso2SignatureValueType->CONTENT.bytesLen); if (errn == 0) { errn = (iso2SignatureValueType->CONTENT.bytesLen) <= iso2SignatureValueType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2SignatureValueType->CONTENT.bytesLen, iso2SignatureValueType->CONTENT.bytes); } grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2016: /* StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2SignatureValueType->CONTENT.bytesLen); if (errn == 0) { errn = (iso2SignatureValueType->CONTENT.bytesLen) <= iso2SignatureValueType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2SignatureValueType->CONTENT.bytesLen, iso2SignatureValueType->CONTENT.bytes); } grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='http://www.w3.org/2000/09/xmldsig#,SignedInfoType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("http://www.w3.org/2000/09/xmldsig#":CanonicalizationMethod,"http://www.w3.org/2000/09/xmldsig#":SignatureMethod,"http://www.w3.org/2000/09/xmldsig#":Reference{1-UNBOUNDED})', derivedBy='RESTRICTION'. */ static int decode_iso2SignedInfoType(bitstream_t* stream, struct iso2SignedInfoType* iso2SignedInfoType) { int grammarID = 2599; int done = 0; init_iso2SignedInfoType(iso2SignedInfoType); while(!done) { switch(grammarID) { case 2599: /* FirstStartTag[ATTRIBUTE[STRING](Id), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2SignedInfoType->Id.charactersLen); if (errn == 0) { if (iso2SignedInfoType->Id.charactersLen >= 2) { iso2SignedInfoType->Id.charactersLen = (uint16_t)(iso2SignedInfoType->Id.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2SignedInfoType->Id.charactersLen, iso2SignedInfoType->Id.characters, iso2SignedInfoType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } iso2SignedInfoType->Id_isUsed = 1u; grammarID = 2600; break; case 1: errn = decode_iso2CanonicalizationMethodType(stream, &iso2SignedInfoType->CanonicalizationMethod); grammarID = 2601; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2600: /* StartTag[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2CanonicalizationMethodType(stream, &iso2SignedInfoType->CanonicalizationMethod); grammarID = 2601; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2601: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2SignatureMethodType(stream, &iso2SignedInfoType->SignatureMethod); grammarID = 2602; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2602: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SignedInfoType->Reference.arrayLen < iso2SignedInfoType_Reference_ARRAY_SIZE) { errn = decode_iso2ReferenceType(stream, &iso2SignedInfoType->Reference.array[iso2SignedInfoType->Reference.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1964; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 1964: /* Element[START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: if (iso2SignedInfoType->Reference.arrayLen < iso2SignedInfoType_Reference_ARRAY_SIZE) { errn = decode_iso2ReferenceType(stream, &iso2SignedInfoType->Reference.array[iso2SignedInfoType->Reference.arrayLen++]); } else { errn = EXI_ERROR_OUT_OF_BOUNDS; } grammarID = 1964; break; case 1: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,PowerDeliveryResType', base type name='V2GResponseType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(("urn:iso:15118:2:2016:MsgBody":ResponseCode,"urn:iso:15118:2:2016:MsgBody":EVSEStatus{0-1}),("urn:iso:15118:2:2016:MsgBody":EVSEProcessing))', derivedBy='EXTENSION'. */ static int decode_iso2PowerDeliveryResType(bitstream_t* stream, struct iso2PowerDeliveryResType* iso2PowerDeliveryResType) { int grammarID = 5; int done = 0; init_iso2PowerDeliveryResType(iso2PowerDeliveryResType); while(!done) { switch(grammarID) { case 5: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); iso2PowerDeliveryResType->ResponseCode = (iso2responseCodeType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 6; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 6: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decode_iso2EVSEStatusType(stream, &iso2PowerDeliveryResType->EVSEStatus); iso2PowerDeliveryResType->EVSEStatus_isUsed = 1u; grammarID = 7; break; case 1: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2PowerDeliveryResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 7: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); iso2PowerDeliveryResType->EVSEProcessing = (iso2EVSEProcessingType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgBody,CableCheckReqType', base type name='BodyBaseType', content type='EMPTY', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ static int decode_iso2CableCheckReqType(bitstream_t* stream, struct iso2CableCheckReqType* iso2CableCheckReqType) { int grammarID = 674; int done = 0; init_iso2CableCheckReqType(iso2CableCheckReqType); while(!done) { switch(grammarID) { case 674: /* FirstStartTag[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,SelectedServiceType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":ServiceID,"urn:iso:15118:2:2016:MsgDataTypes":ParameterSetID)', derivedBy='RESTRICTION'. */ static int decode_iso2SelectedServiceType(bitstream_t* stream, struct iso2SelectedServiceType* iso2SelectedServiceType) { int grammarID = 2603; int done = 0; init_iso2SelectedServiceType(iso2SelectedServiceType); while(!done) { switch(grammarID) { case 2603: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2SelectedServiceType->ServiceID); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2604; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2604: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2SelectedServiceType->ParameterSetID); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,DiffieHellmanPublickeyType', base type name='dHpublickeyType', content type='SIMPLE', isAbstract='false', hasTypeId='false', final='0', block='0', derivedBy='EXTENSION'. */ static int decode_iso2DiffieHellmanPublickeyType(bitstream_t* stream, struct iso2DiffieHellmanPublickeyType* iso2DiffieHellmanPublickeyType) { int grammarID = 2015; int done = 0; init_iso2DiffieHellmanPublickeyType(iso2DiffieHellmanPublickeyType); while(!done) { switch(grammarID) { case 2015: /* FirstStartTag[ATTRIBUTE[STRING]({urn:iso:15118:2:2016:MsgDataTypes}Id)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2DiffieHellmanPublickeyType->Id.charactersLen); if (errn == 0) { if (iso2DiffieHellmanPublickeyType->Id.charactersLen >= 2) { iso2DiffieHellmanPublickeyType->Id.charactersLen = (uint16_t)(iso2DiffieHellmanPublickeyType->Id.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, iso2DiffieHellmanPublickeyType->Id.charactersLen, iso2DiffieHellmanPublickeyType->Id.characters, iso2DiffieHellmanPublickeyType_Id_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } grammarID = 2016; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2016: /* StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: errn = decodeUnsignedInteger16(stream, &iso2DiffieHellmanPublickeyType->CONTENT.bytesLen); if (errn == 0) { errn = (iso2DiffieHellmanPublickeyType->CONTENT.bytesLen) <= iso2DiffieHellmanPublickeyType_CONTENT_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, iso2DiffieHellmanPublickeyType->CONTENT.bytesLen, iso2DiffieHellmanPublickeyType->CONTENT.bytes); } grammarID = 3; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } /* Complex type name='urn:iso:15118:2:2016:MsgDataTypes,EVSEStatusType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='("urn:iso:15118:2:2016:MsgDataTypes":NotificationMaxDelay,"urn:iso:15118:2:2016:MsgDataTypes":EVSENotification)', derivedBy='RESTRICTION'. */ static int decode_iso2EVSEStatusType(bitstream_t* stream, struct iso2EVSEStatusType* iso2EVSEStatusType) { int grammarID = 2605; int done = 0; init_iso2EVSEStatusType(iso2EVSEStatusType); while(!done) { switch(grammarID) { case 2605: /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NotificationMaxDelay)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &iso2EVSEStatusType->NotificationMaxDelay); } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NotificationMaxDelay) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 2606; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 2606: /* Element[START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENotification)] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); iso2EVSEStatusType->EVSENotification = (iso2EVSENotificationType) uint32; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } if(errn == 0) { /* valid EE for simple element START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENotification) ? */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(eventCode == 0) { grammarID = 3; } else { errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ } } break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; case 3: /* Element[END_ELEMENT] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if (errn == 0) { switch(eventCode) { case 0: done = 1; grammarID = 4; break; default: errn = EXI_ERROR_UNKOWN_EVENT_CODE; break; } } break; default: errn = EXI_ERROR_UNKOWN_GRAMMAR_ID; break; } if(errn) { done = 1; } } return errn; } int decode_iso2ExiDocument(bitstream_t* stream, struct iso2EXIDocument* exiDoc) { errn = readEXIHeader(stream); if(errn == 0) { /* DocContent[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleList), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse), START_ELEMENT({urn:iso:15118:2:2016:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT_GENERIC] */ init_iso2EXIDocument(exiDoc); errn = decodeNBitUnsignedInteger(stream, 7, &eventCode); if(errn == 0) { switch(eventCode) { case 0: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq) */ errn = decode_iso2AC_BidirectionalControlReqType(stream, &exiDoc->AC_BidirectionalControlReq); exiDoc->AC_BidirectionalControlReq_isUsed = 1u; break; case 1: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlRes) */ errn = decode_iso2AC_BidirectionalControlResType(stream, &exiDoc->AC_BidirectionalControlRes); exiDoc->AC_BidirectionalControlRes_isUsed = 1u; break; case 2: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter) */ errn = decode_iso2AC_EVBidirectionalParameterType(stream, &exiDoc->AC_EVBidirectionalParameter); exiDoc->AC_EVBidirectionalParameter_isUsed = 1u; break; case 3: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter) */ errn = decode_iso2AC_EVChargeParameterType(stream, &exiDoc->AC_EVChargeParameter); exiDoc->AC_EVChargeParameter_isUsed = 1u; break; case 4: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter) */ errn = decode_iso2AC_EVSEBidirectionalParameterType(stream, &exiDoc->AC_EVSEBidirectionalParameter); exiDoc->AC_EVSEBidirectionalParameter_isUsed = 1u; break; case 5: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter) */ errn = decode_iso2AC_EVSEChargeParameterType(stream, &exiDoc->AC_EVSEChargeParameter); exiDoc->AC_EVSEChargeParameter_isUsed = 1u; break; case 6: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq) */ errn = decode_iso2AlignmentCheckReqType(stream, &exiDoc->AlignmentCheckReq); exiDoc->AlignmentCheckReq_isUsed = 1u; break; case 7: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes) */ errn = decode_iso2AlignmentCheckResType(stream, &exiDoc->AlignmentCheckRes); exiDoc->AlignmentCheckRes_isUsed = 1u; break; case 8: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq) */ errn = decode_iso2AuthorizationReqType(stream, &exiDoc->AuthorizationReq); exiDoc->AuthorizationReq_isUsed = 1u; break; case 9: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes) */ errn = decode_iso2AuthorizationResType(stream, &exiDoc->AuthorizationRes); exiDoc->AuthorizationRes_isUsed = 1u; break; case 10: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement) */ errn = decode_iso2BodyBaseType(stream, &exiDoc->BodyElement); exiDoc->BodyElement_isUsed = 1u; break; case 11: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq) */ errn = decode_iso2CableCheckReqType(stream, &exiDoc->CableCheckReq); exiDoc->CableCheckReq_isUsed = 1u; break; case 12: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes) */ errn = decode_iso2CableCheckResType(stream, &exiDoc->CableCheckRes); exiDoc->CableCheckRes_isUsed = 1u; break; case 13: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ errn = decode_iso2CanonicalizationMethodType(stream, &exiDoc->CanonicalizationMethod); exiDoc->CanonicalizationMethod_isUsed = 1u; break; case 14: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq) */ errn = decode_iso2CertificateInstallationReqType(stream, &exiDoc->CertificateInstallationReq); exiDoc->CertificateInstallationReq_isUsed = 1u; break; case 15: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes) */ errn = decode_iso2CertificateInstallationResType(stream, &exiDoc->CertificateInstallationRes); exiDoc->CertificateInstallationRes_isUsed = 1u; break; case 16: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq) */ errn = decode_iso2CertificateUpdateReqType(stream, &exiDoc->CertificateUpdateReq); exiDoc->CertificateUpdateReq_isUsed = 1u; break; case 17: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes) */ errn = decode_iso2CertificateUpdateResType(stream, &exiDoc->CertificateUpdateRes); exiDoc->CertificateUpdateRes_isUsed = 1u; break; case 18: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq) */ errn = decode_iso2ChargeParameterDiscoveryReqType(stream, &exiDoc->ChargeParameterDiscoveryReq); exiDoc->ChargeParameterDiscoveryReq_isUsed = 1u; break; case 19: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes) */ errn = decode_iso2ChargeParameterDiscoveryResType(stream, &exiDoc->ChargeParameterDiscoveryRes); exiDoc->ChargeParameterDiscoveryRes_isUsed = 1u; break; case 20: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq) */ errn = decode_iso2ChargingStatusReqType(stream, &exiDoc->ChargingStatusReq); exiDoc->ChargingStatusReq_isUsed = 1u; break; case 21: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes) */ errn = decode_iso2ChargingStatusResType(stream, &exiDoc->ChargingStatusRes); exiDoc->ChargingStatusRes_isUsed = 1u; break; case 22: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceReq) */ errn = decode_iso2ConnectChargingDeviceReqType(stream, &exiDoc->ConnectChargingDeviceReq); exiDoc->ConnectChargingDeviceReq_isUsed = 1u; break; case 23: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes) */ errn = decode_iso2ConnectChargingDeviceResType(stream, &exiDoc->ConnectChargingDeviceRes); exiDoc->ConnectChargingDeviceRes_isUsed = 1u; break; case 24: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq) */ errn = decode_iso2CurrentDemandReqType(stream, &exiDoc->CurrentDemandReq); exiDoc->CurrentDemandReq_isUsed = 1u; break; case 25: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes) */ errn = decode_iso2CurrentDemandResType(stream, &exiDoc->CurrentDemandRes); exiDoc->CurrentDemandRes_isUsed = 1u; break; case 26: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq) */ errn = decode_iso2DC_BidirectionalControlReqType(stream, &exiDoc->DC_BidirectionalControlReq); exiDoc->DC_BidirectionalControlReq_isUsed = 1u; break; case 27: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlRes) */ errn = decode_iso2DC_BidirectionalControlResType(stream, &exiDoc->DC_BidirectionalControlRes); exiDoc->DC_BidirectionalControlRes_isUsed = 1u; break; case 28: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter) */ errn = decode_iso2DC_EVBidirectionalParameterType(stream, &exiDoc->DC_EVBidirectionalParameter); exiDoc->DC_EVBidirectionalParameter_isUsed = 1u; break; case 29: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter) */ errn = decode_iso2DC_EVChargeParameterType(stream, &exiDoc->DC_EVChargeParameter); exiDoc->DC_EVChargeParameter_isUsed = 1u; break; case 30: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter) */ errn = decode_iso2DC_EVSEBidirectionalParameterType(stream, &exiDoc->DC_EVSEBidirectionalParameter); exiDoc->DC_EVSEBidirectionalParameter_isUsed = 1u; break; case 31: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter) */ errn = decode_iso2DC_EVSEChargeParameterType(stream, &exiDoc->DC_EVSEChargeParameter); exiDoc->DC_EVSEChargeParameter_isUsed = 1u; break; case 32: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ errn = decode_iso2DSAKeyValueType(stream, &exiDoc->DSAKeyValue); exiDoc->DSAKeyValue_isUsed = 1u; break; case 33: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ errn = decode_iso2DigestMethodType(stream, &exiDoc->DigestMethod); exiDoc->DigestMethod_isUsed = 1u; break; case 34: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiDoc->DigestValue.bytesLen); if (errn == 0) { errn = (exiDoc->DigestValue.bytesLen) <= EXIDocument_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, exiDoc->DigestValue.bytesLen, exiDoc->DigestValue.bytes); } exiDoc->DigestValue_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 35: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq) */ errn = decode_iso2DisconnectChargingDeviceReqType(stream, &exiDoc->DisconnectChargingDeviceReq); exiDoc->DisconnectChargingDeviceReq_isUsed = 1u; break; case 36: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes) */ errn = decode_iso2DisconnectChargingDeviceResType(stream, &exiDoc->DisconnectChargingDeviceRes); exiDoc->DisconnectChargingDeviceRes_isUsed = 1u; break; case 37: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter) */ errn = decode_iso2EVEnergyTransferParameterType(stream, &exiDoc->EVEnergyTransferParameter); exiDoc->EVEnergyTransferParameter_isUsed = 1u; break; case 38: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters) */ errn = decode_iso2EVFinePositioningParametersType(stream, &exiDoc->EVFinePositioningParameters); exiDoc->EVFinePositioningParameters_isUsed = 1u; break; case 39: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters) */ errn = decode_iso2EVFinePositioningSetupParametersType(stream, &exiDoc->EVFinePositioningSetupParameters); exiDoc->EVFinePositioningSetupParameters_isUsed = 1u; break; case 40: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter) */ errn = decode_iso2EVSEEnergyTransferParameterType(stream, &exiDoc->EVSEEnergyTransferParameter); exiDoc->EVSEEnergyTransferParameter_isUsed = 1u; break; case 41: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters) */ errn = decode_iso2EVSEFinePositioningParametersType(stream, &exiDoc->EVSEFinePositioningParameters); exiDoc->EVSEFinePositioningParameters_isUsed = 1u; break; case 42: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters) */ errn = decode_iso2EVSEFinePositioningSetupParametersType(stream, &exiDoc->EVSEFinePositioningSetupParameters); exiDoc->EVSEFinePositioningSetupParameters_isUsed = 1u; break; case 43: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq) */ errn = decode_iso2FinePositioningReqType(stream, &exiDoc->FinePositioningReq); exiDoc->FinePositioningReq_isUsed = 1u; break; case 44: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes) */ errn = decode_iso2FinePositioningResType(stream, &exiDoc->FinePositioningRes); exiDoc->FinePositioningRes_isUsed = 1u; break; case 45: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq) */ errn = decode_iso2FinePositioningSetupReqType(stream, &exiDoc->FinePositioningSetupReq); exiDoc->FinePositioningSetupReq_isUsed = 1u; break; case 46: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes) */ errn = decode_iso2FinePositioningSetupResType(stream, &exiDoc->FinePositioningSetupRes); exiDoc->FinePositioningSetupRes_isUsed = 1u; break; case 47: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters) */ errn = decode_iso2Generic_EVFinePositioningParametersType(stream, &exiDoc->Generic_EVFinePositioningParameters); exiDoc->Generic_EVFinePositioningParameters_isUsed = 1u; break; case 48: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters) */ errn = decode_iso2Generic_EVSEFinePositioningParametersType(stream, &exiDoc->Generic_EVSEFinePositioningParameters); exiDoc->Generic_EVSEFinePositioningParameters_isUsed = 1u; break; case 49: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ errn = decode_iso2KeyInfoType(stream, &exiDoc->KeyInfo); exiDoc->KeyInfo_isUsed = 1u; break; case 50: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiDoc->KeyName.charactersLen); if (errn == 0) { if (exiDoc->KeyName.charactersLen >= 2) { exiDoc->KeyName.charactersLen = (uint16_t)(exiDoc->KeyName.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, exiDoc->KeyName.charactersLen, exiDoc->KeyName.characters, EXIDocument_KeyName_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } exiDoc->KeyName_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 51: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ errn = decode_iso2KeyValueType(stream, &exiDoc->KeyValue); exiDoc->KeyValue_isUsed = 1u; break; case 52: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters) */ errn = decode_iso2LFA_EVFinePositioningParametersType(stream, &exiDoc->LFA_EVFinePositioningParameters); exiDoc->LFA_EVFinePositioningParameters_isUsed = 1u; break; case 53: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters) */ errn = decode_iso2LFA_EVFinePositioningSetupParametersType(stream, &exiDoc->LFA_EVFinePositioningSetupParameters); exiDoc->LFA_EVFinePositioningSetupParameters_isUsed = 1u; break; case 54: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters) */ errn = decode_iso2LFA_EVSEFinePositioningParametersType(stream, &exiDoc->LFA_EVSEFinePositioningParameters); exiDoc->LFA_EVSEFinePositioningParameters_isUsed = 1u; break; case 55: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters) */ errn = decode_iso2LFA_EVSEFinePositioningSetupParametersType(stream, &exiDoc->LFA_EVSEFinePositioningSetupParameters); exiDoc->LFA_EVSEFinePositioningSetupParameters_isUsed = 1u; break; case 56: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters) */ errn = decode_iso2MV_EVSEFinePositioningParametersType(stream, &exiDoc->MV_EVSEFinePositioningParameters); exiDoc->MV_EVSEFinePositioningParameters_isUsed = 1u; break; case 57: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters) */ errn = decode_iso2MV_EVSEFinePositioningSetupParametersType(stream, &exiDoc->MV_EVSEFinePositioningSetupParameters); exiDoc->MV_EVSEFinePositioningSetupParameters_isUsed = 1u; break; case 58: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ errn = decode_iso2ManifestType(stream, &exiDoc->Manifest); exiDoc->Manifest_isUsed = 1u; break; case 59: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq) */ errn = decode_iso2MeteringReceiptReqType(stream, &exiDoc->MeteringReceiptReq); exiDoc->MeteringReceiptReq_isUsed = 1u; break; case 60: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes) */ errn = decode_iso2MeteringReceiptResType(stream, &exiDoc->MeteringReceiptRes); exiDoc->MeteringReceiptRes_isUsed = 1u; break; case 61: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiDoc->MgmtData.charactersLen); if (errn == 0) { if (exiDoc->MgmtData.charactersLen >= 2) { exiDoc->MgmtData.charactersLen = (uint16_t)(exiDoc->MgmtData.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, exiDoc->MgmtData.charactersLen, exiDoc->MgmtData.characters, EXIDocument_MgmtData_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } exiDoc->MgmtData_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 62: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ errn = decode_iso2ObjectType(stream, &exiDoc->Object); exiDoc->Object_isUsed = 1u; break; case 63: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ errn = decode_iso2PGPDataType(stream, &exiDoc->PGPData); exiDoc->PGPData_isUsed = 1u; break; case 64: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry) */ errn = decode_iso2PMaxScheduleEntryType(stream, &exiDoc->PMaxScheduleEntry); exiDoc->PMaxScheduleEntry_isUsed = 1u; break; case 65: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq) */ errn = decode_iso2PairingReqType(stream, &exiDoc->PairingReq); exiDoc->PairingReq_isUsed = 1u; break; case 66: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes) */ errn = decode_iso2PairingResType(stream, &exiDoc->PairingRes); exiDoc->PairingRes_isUsed = 1u; break; case 67: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq) */ errn = decode_iso2PaymentDetailsReqType(stream, &exiDoc->PaymentDetailsReq); exiDoc->PaymentDetailsReq_isUsed = 1u; break; case 68: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes) */ errn = decode_iso2PaymentDetailsResType(stream, &exiDoc->PaymentDetailsRes); exiDoc->PaymentDetailsRes_isUsed = 1u; break; case 69: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq) */ errn = decode_iso2PaymentServiceSelectionReqType(stream, &exiDoc->PaymentServiceSelectionReq); exiDoc->PaymentServiceSelectionReq_isUsed = 1u; break; case 70: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes) */ errn = decode_iso2PaymentServiceSelectionResType(stream, &exiDoc->PaymentServiceSelectionRes); exiDoc->PaymentServiceSelectionRes_isUsed = 1u; break; case 71: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq) */ errn = decode_iso2PowerDeliveryReqType(stream, &exiDoc->PowerDeliveryReq); exiDoc->PowerDeliveryReq_isUsed = 1u; break; case 72: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes) */ errn = decode_iso2PowerDeliveryResType(stream, &exiDoc->PowerDeliveryRes); exiDoc->PowerDeliveryRes_isUsed = 1u; break; case 73: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq) */ errn = decode_iso2PowerDemandReqType(stream, &exiDoc->PowerDemandReq); exiDoc->PowerDemandReq_isUsed = 1u; break; case 74: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes) */ errn = decode_iso2PowerDemandResType(stream, &exiDoc->PowerDemandRes); exiDoc->PowerDemandRes_isUsed = 1u; break; case 75: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq) */ errn = decode_iso2PreChargeReqType(stream, &exiDoc->PreChargeReq); exiDoc->PreChargeReq_isUsed = 1u; break; case 76: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes) */ errn = decode_iso2PreChargeResType(stream, &exiDoc->PreChargeRes); exiDoc->PreChargeRes_isUsed = 1u; break; case 77: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ errn = decode_iso2RSAKeyValueType(stream, &exiDoc->RSAKeyValue); exiDoc->RSAKeyValue_isUsed = 1u; break; case 78: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ errn = decode_iso2ReferenceType(stream, &exiDoc->Reference); exiDoc->Reference_isUsed = 1u; break; case 79: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval) */ errn = decode_iso2RelativeTimeIntervalType(stream, &exiDoc->RelativeTimeInterval); exiDoc->RelativeTimeInterval_isUsed = 1u; break; case 80: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ errn = decode_iso2RetrievalMethodType(stream, &exiDoc->RetrievalMethod); exiDoc->RetrievalMethod_isUsed = 1u; break; case 81: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleList) */ errn = decode_iso2SAScheduleListType(stream, &exiDoc->SAScheduleList); exiDoc->SAScheduleList_isUsed = 1u; break; case 82: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ errn = decode_iso2SPKIDataType(stream, &exiDoc->SPKIData); exiDoc->SPKIData_isUsed = 1u; break; case 83: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry) */ errn = decode_iso2SalesTariffEntryType(stream, &exiDoc->SalesTariffEntry); exiDoc->SalesTariffEntry_isUsed = 1u; break; case 84: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq) */ errn = decode_iso2ServiceDetailReqType(stream, &exiDoc->ServiceDetailReq); exiDoc->ServiceDetailReq_isUsed = 1u; break; case 85: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes) */ errn = decode_iso2ServiceDetailResType(stream, &exiDoc->ServiceDetailRes); exiDoc->ServiceDetailRes_isUsed = 1u; break; case 86: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq) */ errn = decode_iso2ServiceDiscoveryReqType(stream, &exiDoc->ServiceDiscoveryReq); exiDoc->ServiceDiscoveryReq_isUsed = 1u; break; case 87: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes) */ errn = decode_iso2ServiceDiscoveryResType(stream, &exiDoc->ServiceDiscoveryRes); exiDoc->ServiceDiscoveryRes_isUsed = 1u; break; case 88: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq) */ errn = decode_iso2SessionSetupReqType(stream, &exiDoc->SessionSetupReq); exiDoc->SessionSetupReq_isUsed = 1u; break; case 89: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes) */ errn = decode_iso2SessionSetupResType(stream, &exiDoc->SessionSetupRes); exiDoc->SessionSetupRes_isUsed = 1u; break; case 90: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq) */ errn = decode_iso2SessionStopReqType(stream, &exiDoc->SessionStopReq); exiDoc->SessionStopReq_isUsed = 1u; break; case 91: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes) */ errn = decode_iso2SessionStopResType(stream, &exiDoc->SessionStopRes); exiDoc->SessionStopRes_isUsed = 1u; break; case 92: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ errn = decode_iso2SignatureType(stream, &exiDoc->Signature); exiDoc->Signature_isUsed = 1u; break; case 93: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ errn = decode_iso2SignatureMethodType(stream, &exiDoc->SignatureMethod); exiDoc->SignatureMethod_isUsed = 1u; break; case 94: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ errn = decode_iso2SignaturePropertiesType(stream, &exiDoc->SignatureProperties); exiDoc->SignatureProperties_isUsed = 1u; break; case 95: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ errn = decode_iso2SignaturePropertyType(stream, &exiDoc->SignatureProperty); exiDoc->SignatureProperty_isUsed = 1u; break; case 96: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ errn = decode_iso2SignatureValueType(stream, &exiDoc->SignatureValue); exiDoc->SignatureValue_isUsed = 1u; break; case 97: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ errn = decode_iso2SignedInfoType(stream, &exiDoc->SignedInfo); exiDoc->SignedInfo_isUsed = 1u; break; case 98: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq) */ errn = decode_iso2SystemStatusReqType(stream, &exiDoc->SystemStatusReq); exiDoc->SystemStatusReq_isUsed = 1u; break; case 99: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes) */ errn = decode_iso2SystemStatusResType(stream, &exiDoc->SystemStatusRes); exiDoc->SystemStatusRes_isUsed = 1u; break; case 100: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ errn = decode_iso2TransformType(stream, &exiDoc->Transform); exiDoc->Transform_isUsed = 1u; break; case 101: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ errn = decode_iso2TransformsType(stream, &exiDoc->Transforms); exiDoc->Transforms_isUsed = 1u; break; case 102: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest) */ errn = decode_iso2BodyBaseType(stream, &exiDoc->V2GRequest); exiDoc->V2GRequest_isUsed = 1u; break; case 103: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse) */ errn = decode_iso2V2GResponseType(stream, &exiDoc->V2GResponse); exiDoc->V2GResponse_isUsed = 1u; break; case 104: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}V2G_Message) */ errn = decode_iso2AnonType_V2G_Message(stream, &exiDoc->V2G_Message); exiDoc->V2G_Message_isUsed = 1u; break; case 105: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq) */ errn = decode_iso2VehicleCheckInReqType(stream, &exiDoc->VehicleCheckInReq); exiDoc->VehicleCheckInReq_isUsed = 1u; break; case 106: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes) */ errn = decode_iso2VehicleCheckInResType(stream, &exiDoc->VehicleCheckInRes); exiDoc->VehicleCheckInRes_isUsed = 1u; break; case 107: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq) */ errn = decode_iso2VehicleCheckOutReqType(stream, &exiDoc->VehicleCheckOutReq); exiDoc->VehicleCheckOutReq_isUsed = 1u; break; case 108: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes) */ errn = decode_iso2VehicleCheckOutResType(stream, &exiDoc->VehicleCheckOutRes); exiDoc->VehicleCheckOutRes_isUsed = 1u; break; case 109: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter) */ errn = decode_iso2WPT_EVChargeParameterType(stream, &exiDoc->WPT_EVChargeParameter); exiDoc->WPT_EVChargeParameter_isUsed = 1u; break; case 110: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter) */ errn = decode_iso2WPT_EVSEChargeParameterType(stream, &exiDoc->WPT_EVSEChargeParameter); exiDoc->WPT_EVSEChargeParameter_isUsed = 1u; break; case 111: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq) */ errn = decode_iso2WeldingDetectionReqType(stream, &exiDoc->WeldingDetectionReq); exiDoc->WeldingDetectionReq_isUsed = 1u; break; case 112: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes) */ errn = decode_iso2WeldingDetectionResType(stream, &exiDoc->WeldingDetectionRes); exiDoc->WeldingDetectionRes_isUsed = 1u; break; case 113: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ errn = decode_iso2X509DataType(stream, &exiDoc->X509Data); exiDoc->X509Data_isUsed = 1u; break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } } } (void)exiDoc; /* avoid unused warning */ (void)eventCode; /* avoid unused warning */ (void)uint32; /* avoid unused warning */ return errn; } #if DEPLOY_ISO2_CODEC_FRAGMENT == SUPPORT_YES int decode_iso2ExiFragment(bitstream_t* stream, struct iso2EXIFragment* exiFrag) { errn = readEXIHeader(stream); if(errn == 0) { /* FragmentContent[START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AngleGAtoVA), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Body), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeProgress), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingSession), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CheckOutTime), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentRange), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Distance), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EPriceLevel), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCCID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckInStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckOutStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVInputPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentReactivePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSECurrentRegulationTolerance), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyToBeDelivered), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumDischargeCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENotification), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEOutputPower), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetReactivePower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EffectiveRadiatedPower), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EnergyTransferServiceList), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Exponent), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FODStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FreeService), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength), START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Header), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ListOfRootCertificateIDs), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetupList), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MaxSupportingPoints), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementDataList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingCharged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MinimumPMaxRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NotificationMaxDelay), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OEMProvisioningCert), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxDischargeSchedule), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxSchedule), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageIndex), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageSeparationTime), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ParkingMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}RetryCounter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RotationVAtoGA), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTupleID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariff), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffDescription), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffID), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedEnergyTransferService), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedPaymentOption), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedVASList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrientation), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceParameterList), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionID), START_ELEMENT({urn:iso:15118:2:2016:MsgHeader}SessionID), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalFrequency), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SubCertificates), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SupportedServiceIDs), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}TargetOffset), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetX), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetY), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse), START_ELEMENT({urn:iso:15118:2:2016:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VASList), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Value), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}XCoordinate), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath), START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}YCoordinate), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ZCoordinate), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}amount), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}boolValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}byteValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}costKind), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}duration), START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}intValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}physicalValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}shortValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}start), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}startValue), START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}stringValue), START_ELEMENT_GENERIC, END_DOCUMENT] */ init_iso2EXIFragment(exiFrag); errn = decodeNBitUnsignedInteger(stream, 9, &eventCode); if(errn == 0) { switch(eventCode) { case 0: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlReq) */ errn = decode_iso2AC_BidirectionalControlReqType(stream, &exiFrag->AC_BidirectionalControlReq); exiFrag->AC_BidirectionalControlReq_isUsed = 1u; break; case 1: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AC_BidirectionalControlRes) */ errn = decode_iso2AC_BidirectionalControlResType(stream, &exiFrag->AC_BidirectionalControlRes); exiFrag->AC_BidirectionalControlRes_isUsed = 1u; break; case 2: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVBidirectionalParameter) */ errn = decode_iso2AC_EVBidirectionalParameterType(stream, &exiFrag->AC_EVBidirectionalParameter); exiFrag->AC_EVBidirectionalParameter_isUsed = 1u; break; case 3: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVChargeParameter) */ errn = decode_iso2AC_EVChargeParameterType(stream, &exiFrag->AC_EVChargeParameter); exiFrag->AC_EVChargeParameter_isUsed = 1u; break; case 4: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEBidirectionalParameter) */ errn = decode_iso2AC_EVSEBidirectionalParameterType(stream, &exiFrag->AC_EVSEBidirectionalParameter); exiFrag->AC_EVSEBidirectionalParameter_isUsed = 1u; break; case 5: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AC_EVSEChargeParameter) */ errn = decode_iso2AC_EVSEChargeParameterType(stream, &exiFrag->AC_EVSEChargeParameter); exiFrag->AC_EVSEChargeParameter_isUsed = 1u; break; case 6: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckParameters) */ errn = decode_iso2ParameterSetType(stream, &exiFrag->AlignmentCheckParameters); exiFrag->AlignmentCheckParameters_isUsed = 1u; break; case 7: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckReq) */ errn = decode_iso2AlignmentCheckReqType(stream, &exiFrag->AlignmentCheckReq); exiFrag->AlignmentCheckReq_isUsed = 1u; break; case 8: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AlignmentCheckRes) */ errn = decode_iso2AlignmentCheckResType(stream, &exiFrag->AlignmentCheckRes); exiFrag->AlignmentCheckRes_isUsed = 1u; break; case 9: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AlignmentOffset) */ /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->AlignmentOffset); exiFrag->AlignmentOffset_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 10: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}AngleGAtoVA) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->AngleGAtoVA); exiFrag->AngleGAtoVA_isUsed = 1u; break; case 11: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationReq) */ errn = decode_iso2AuthorizationReqType(stream, &exiFrag->AuthorizationReq); exiFrag->AuthorizationReq_isUsed = 1u; break; case 12: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}AuthorizationRes) */ errn = decode_iso2AuthorizationResType(stream, &exiFrag->AuthorizationRes); exiFrag->AuthorizationRes_isUsed = 1u; break; case 13: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Body) */ errn = decode_iso2BodyType(stream, &exiFrag->Body); exiFrag->Body_isUsed = 1u; break; case 14: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}BodyElement) */ errn = decode_iso2BodyBaseType(stream, &exiFrag->BodyElement); exiFrag->BodyElement_isUsed = 1u; break; case 15: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkChargingComplete) */ /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &exiFrag->BulkChargingComplete); exiFrag->BulkChargingComplete_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 16: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BulkSOC) */ /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); exiFrag->BulkSOC = (int8_t)(uint32 + 0); exiFrag->BulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 17: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}BuyBackTariff) */ errn = decode_iso2SalesTariffType(stream, &exiFrag->BuyBackTariff); exiFrag->BuyBackTariff_isUsed = 1u; break; case 18: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckReq) */ errn = decode_iso2CableCheckReqType(stream, &exiFrag->CableCheckReq); exiFrag->CableCheckReq_isUsed = 1u; break; case 19: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CableCheckRes) */ errn = decode_iso2CableCheckResType(stream, &exiFrag->CableCheckRes); exiFrag->CableCheckRes_isUsed = 1u; break; case 20: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod) */ errn = decode_iso2CanonicalizationMethodType(stream, &exiFrag->CanonicalizationMethod); exiFrag->CanonicalizationMethod_isUsed = 1u; break; case 21: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Certificate) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->Certificate.bytesLen); if (errn == 0) { errn = (exiFrag->Certificate.bytesLen) <= EXIFragment_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, exiFrag->Certificate.bytesLen, exiFrag->Certificate.bytes); } exiFrag->Certificate_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 22: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationReq) */ errn = decode_iso2CertificateInstallationReqType(stream, &exiFrag->CertificateInstallationReq); exiFrag->CertificateInstallationReq_isUsed = 1u; break; case 23: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateInstallationRes) */ errn = decode_iso2CertificateInstallationResType(stream, &exiFrag->CertificateInstallationRes); exiFrag->CertificateInstallationRes_isUsed = 1u; break; case 24: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateReq) */ errn = decode_iso2CertificateUpdateReqType(stream, &exiFrag->CertificateUpdateReq); exiFrag->CertificateUpdateReq_isUsed = 1u; break; case 25: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CertificateUpdateRes) */ errn = decode_iso2CertificateUpdateResType(stream, &exiFrag->CertificateUpdateRes); exiFrag->CertificateUpdateRes_isUsed = 1u; break; case 26: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryReq) */ errn = decode_iso2ChargeParameterDiscoveryReqType(stream, &exiFrag->ChargeParameterDiscoveryReq); exiFrag->ChargeParameterDiscoveryReq_isUsed = 1u; break; case 27: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeParameterDiscoveryRes) */ errn = decode_iso2ChargeParameterDiscoveryResType(stream, &exiFrag->ChargeParameterDiscoveryRes); exiFrag->ChargeParameterDiscoveryRes_isUsed = 1u; break; case 28: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargeProgress) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); exiFrag->ChargeProgress = (iso2chargeProgressType) uint32; exiFrag->ChargeProgress_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 29: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingComplete) */ /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &exiFrag->ChargingComplete); exiFrag->ChargingComplete_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 30: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ChargingPerformance) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->ChargingPerformance); exiFrag->ChargingPerformance_isUsed = 1u; break; case 31: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingProfile) */ errn = decode_iso2ChargingProfileType(stream, &exiFrag->ChargingProfile); exiFrag->ChargingProfile_isUsed = 1u; break; case 32: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingSession) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); exiFrag->ChargingSession = (iso2chargingSessionType) uint32; exiFrag->ChargingSession_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 33: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusReq) */ errn = decode_iso2ChargingStatusReqType(stream, &exiFrag->ChargingStatusReq); exiFrag->ChargingStatusReq_isUsed = 1u; break; case 34: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ChargingStatusRes) */ errn = decode_iso2ChargingStatusResType(stream, &exiFrag->ChargingStatusRes); exiFrag->ChargingStatusRes_isUsed = 1u; break; case 35: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CheckOutTime) */ /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger64(stream, &exiFrag->CheckOutTime); exiFrag->CheckOutTime_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 36: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceReq) */ errn = decode_iso2ConnectChargingDeviceReqType(stream, &exiFrag->ConnectChargingDeviceReq); exiFrag->ConnectChargingDeviceReq_isUsed = 1u; break; case 37: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ConnectChargingDeviceRes) */ errn = decode_iso2ConnectChargingDeviceResType(stream, &exiFrag->ConnectChargingDeviceRes); exiFrag->ConnectChargingDeviceRes_isUsed = 1u; break; case 38: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ConsumptionCost) */ errn = decode_iso2ConsumptionCostType(stream, &exiFrag->ConsumptionCost); exiFrag->ConsumptionCost_isUsed = 1u; break; case 39: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureCertChain) */ errn = decode_iso2CertificateChainType(stream, &exiFrag->ContractSignatureCertChain); exiFrag->ContractSignatureCertChain_isUsed = 1u; break; case 40: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ContractSignatureEncryptedPrivateKey) */ errn = decode_iso2ContractSignatureEncryptedPrivateKeyType(stream, &exiFrag->ContractSignatureEncryptedPrivateKey); exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 1u; break; case 41: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Cost) */ errn = decode_iso2CostType(stream, &exiFrag->Cost); exiFrag->Cost_isUsed = 1u; break; case 42: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandReq) */ errn = decode_iso2CurrentDemandReqType(stream, &exiFrag->CurrentDemandReq); exiFrag->CurrentDemandReq_isUsed = 1u; break; case 43: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}CurrentDemandRes) */ errn = decode_iso2CurrentDemandResType(stream, &exiFrag->CurrentDemandRes); exiFrag->CurrentDemandRes_isUsed = 1u; break; case 44: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentRange) */ /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->CurrentRange); exiFrag->CurrentRange_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 45: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}CurrentSOC) */ /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); exiFrag->CurrentSOC = (int8_t)(uint32 + 0); exiFrag->CurrentSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 46: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlReq) */ errn = decode_iso2DC_BidirectionalControlReqType(stream, &exiFrag->DC_BidirectionalControlReq); exiFrag->DC_BidirectionalControlReq_isUsed = 1u; break; case 47: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DC_BidirectionalControlRes) */ errn = decode_iso2DC_BidirectionalControlResType(stream, &exiFrag->DC_BidirectionalControlRes); exiFrag->DC_BidirectionalControlRes_isUsed = 1u; break; case 48: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVBidirectionalParameter) */ errn = decode_iso2DC_EVBidirectionalParameterType(stream, &exiFrag->DC_EVBidirectionalParameter); exiFrag->DC_EVBidirectionalParameter_isUsed = 1u; break; case 49: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVChargeParameter) */ errn = decode_iso2DC_EVChargeParameterType(stream, &exiFrag->DC_EVChargeParameter); exiFrag->DC_EVChargeParameter_isUsed = 1u; break; case 50: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEBidirectionalParameter) */ errn = decode_iso2DC_EVSEBidirectionalParameterType(stream, &exiFrag->DC_EVSEBidirectionalParameter); exiFrag->DC_EVSEBidirectionalParameter_isUsed = 1u; break; case 51: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DC_EVSEChargeParameter) */ errn = decode_iso2DC_EVSEChargeParameterType(stream, &exiFrag->DC_EVSEChargeParameter); exiFrag->DC_EVSEChargeParameter_isUsed = 1u; break; case 52: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DHpublickey) */ errn = decode_iso2DiffieHellmanPublickeyType(stream, &exiFrag->DHpublickey); exiFrag->DHpublickey_isUsed = 1u; break; case 53: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ errn = decode_iso2DSAKeyValueType(stream, &exiFrag->DSAKeyValue); exiFrag->DSAKeyValue_isUsed = 1u; break; case 54: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}DepartureTime) */ /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger32(stream, &exiFrag->DepartureTime); exiFrag->DepartureTime_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 55: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestMethod) */ errn = decode_iso2DigestMethodType(stream, &exiFrag->DigestMethod); exiFrag->DigestMethod_isUsed = 1u; break; case 56: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DigestValue) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->DigestValue.bytesLen); if (errn == 0) { errn = (exiFrag->DigestValue.bytesLen) <= EXIFragment_DigestValue_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, exiFrag->DigestValue.bytesLen, exiFrag->DigestValue.bytes); } exiFrag->DigestValue_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 57: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceReq) */ errn = decode_iso2DisconnectChargingDeviceReqType(stream, &exiFrag->DisconnectChargingDeviceReq); exiFrag->DisconnectChargingDeviceReq_isUsed = 1u; break; case 58: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisconnectChargingDeviceRes) */ errn = decode_iso2DisconnectChargingDeviceResType(stream, &exiFrag->DisconnectChargingDeviceRes); exiFrag->DisconnectChargingDeviceRes_isUsed = 1u; break; case 59: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}DisplayParameters) */ errn = decode_iso2DisplayParametersType(stream, &exiFrag->DisplayParameters); exiFrag->DisplayParameters_isUsed = 1u; break; case 60: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Distance) */ /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->Distance); exiFrag->Distance_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 61: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EPriceLevel) */ /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); exiFrag->EPriceLevel = (uint8_t)(uint32 + 0); exiFrag->EPriceLevel_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 62: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCCID) */ /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->EVCCID.bytesLen); if (errn == 0) { errn = (exiFrag->EVCCID.bytesLen) <= EXIFragment_EVCCID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, exiFrag->EVCCID.bytesLen, exiFrag->EVCCID.bytes); } exiFrag->EVCCID_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 63: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckInStatus) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); exiFrag->EVCheckInStatus = (iso2EVCheckInStatusType) uint32; exiFrag->EVCheckInStatus_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 64: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVCheckOutStatus) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); exiFrag->EVCheckOutStatus = (iso2EVCheckOutStatusType) uint32; exiFrag->EVCheckOutStatus_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 65: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVElectricalChargingDeviceStatus) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); exiFrag->EVElectricalChargingDeviceStatus = (iso2electricalChargingDeviceStatusType) uint32; exiFrag->EVElectricalChargingDeviceStatus_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 66: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVEnergyTransferParameter) */ errn = decode_iso2EVEnergyTransferParameterType(stream, &exiFrag->EVEnergyTransferParameter); exiFrag->EVEnergyTransferParameter_isUsed = 1u; break; case 67: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningParameters) */ errn = decode_iso2EVFinePositioningParametersType(stream, &exiFrag->EVFinePositioningParameters); exiFrag->EVFinePositioningParameters_isUsed = 1u; break; case 68: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVFinePositioningSetupParameters) */ errn = decode_iso2EVFinePositioningSetupParametersType(stream, &exiFrag->EVFinePositioningSetupParameters); exiFrag->EVFinePositioningSetupParameters_isUsed = 1u; break; case 69: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVInputPower) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVInputPower); exiFrag->EVInputPower_isUsed = 1u; break; case 70: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargeCurrent) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumChargeCurrent); exiFrag->EVMaximumChargeCurrent_isUsed = 1u; break; case 71: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargeCurrent) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumChargeCurrent); exiFrag->EVMaximumChargeCurrent_isUsed = 1u; break; case 72: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumChargePower) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumChargePower); exiFrag->EVMaximumChargePower_isUsed = 1u; break; case 73: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumChargePower) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumChargePower); exiFrag->EVMaximumChargePower_isUsed = 1u; break; case 74: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumCurrent) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumCurrent); exiFrag->EVMaximumCurrent_isUsed = 1u; break; case 75: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargeCurrent) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumDischargeCurrent); exiFrag->EVMaximumDischargeCurrent_isUsed = 1u; break; case 76: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargeCurrent) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumDischargeCurrent); exiFrag->EVMaximumDischargeCurrent_isUsed = 1u; break; case 77: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumDischargePower) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumDischargePower); exiFrag->EVMaximumDischargePower_isUsed = 1u; break; case 78: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumDischargePower) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumDischargePower); exiFrag->EVMaximumDischargePower_isUsed = 1u; break; case 79: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumEnergyRequest) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumEnergyRequest); exiFrag->EVMaximumEnergyRequest_isUsed = 1u; break; case 80: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumEnergyRequest) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumEnergyRequest); exiFrag->EVMaximumEnergyRequest_isUsed = 1u; break; case 81: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumPower) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumPower); exiFrag->EVMaximumPower_isUsed = 1u; break; case 82: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumPower) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumPower); exiFrag->EVMaximumPower_isUsed = 1u; break; case 83: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMaximumVoltage) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumVoltage); exiFrag->EVMaximumVoltage_isUsed = 1u; break; case 84: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMaximumVoltage) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMaximumVoltage); exiFrag->EVMaximumVoltage_isUsed = 1u; break; case 85: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMechanicalChargingDeviceStatus) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); exiFrag->EVMechanicalChargingDeviceStatus = (iso2mechanicalChargingDeviceStatusType) uint32; exiFrag->EVMechanicalChargingDeviceStatus_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 86: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumChargeCurrent) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumChargeCurrent); exiFrag->EVMinimumChargeCurrent_isUsed = 1u; break; case 87: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargeCurrent) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumChargeCurrent); exiFrag->EVMinimumChargeCurrent_isUsed = 1u; break; case 88: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumChargePower) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumChargePower); exiFrag->EVMinimumChargePower_isUsed = 1u; break; case 89: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumDischargeCurrent) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumDischargeCurrent); exiFrag->EVMinimumDischargeCurrent_isUsed = 1u; break; case 90: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargeCurrent) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumDischargeCurrent); exiFrag->EVMinimumDischargeCurrent_isUsed = 1u; break; case 91: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumDischargePower) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumDischargePower); exiFrag->EVMinimumDischargePower_isUsed = 1u; break; case 92: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumEnergyRequest) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumEnergyRequest); exiFrag->EVMinimumEnergyRequest_isUsed = 1u; break; case 93: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumEnergyRequest) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumEnergyRequest); exiFrag->EVMinimumEnergyRequest_isUsed = 1u; break; case 94: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumPower) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumPower); exiFrag->EVMinimumPower_isUsed = 1u; break; case 95: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVMinimumVoltage) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumVoltage); exiFrag->EVMinimumVoltage_isUsed = 1u; break; case 96: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVMinimumVoltage) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVMinimumVoltage); exiFrag->EVMinimumVoltage_isUsed = 1u; break; case 97: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVOperation) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); exiFrag->EVOperation = (iso2EVOperationType) uint32; exiFrag->EVOperation_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 98: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentActivePower) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVPresentActivePower); exiFrag->EVPresentActivePower_isUsed = 1u; break; case 99: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVPresentReactivePower) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVPresentReactivePower); exiFrag->EVPresentReactivePower_isUsed = 1u; break; case 100: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVProcessing) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); exiFrag->EVProcessing = (iso2EVSEProcessingType) uint32; exiFrag->EVProcessing_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 101: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECheckOutStatus) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); exiFrag->EVSECheckOutStatus = (iso2EVCheckOutStatusType) uint32; exiFrag->EVSECheckOutStatus_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 102: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSECurrentLimitAchieved) */ /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &exiFrag->EVSECurrentLimitAchieved); exiFrag->EVSECurrentLimitAchieved_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 103: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSECurrentRegulationTolerance) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSECurrentRegulationTolerance); exiFrag->EVSECurrentRegulationTolerance_isUsed = 1u; break; case 104: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEElectricalChargingDeviceStatus) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); exiFrag->EVSEElectricalChargingDeviceStatus = (iso2electricalChargingDeviceStatusType) uint32; exiFrag->EVSEElectricalChargingDeviceStatus_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 105: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyToBeDelivered) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEEnergyToBeDelivered); exiFrag->EVSEEnergyToBeDelivered_isUsed = 1u; break; case 106: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEEnergyTransferParameter) */ errn = decode_iso2EVSEEnergyTransferParameterType(stream, &exiFrag->EVSEEnergyTransferParameter); exiFrag->EVSEEnergyTransferParameter_isUsed = 1u; break; case 107: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningParameters) */ errn = decode_iso2EVSEFinePositioningParametersType(stream, &exiFrag->EVSEFinePositioningParameters); exiFrag->EVSEFinePositioningParameters_isUsed = 1u; break; case 108: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEFinePositioningSetupParameters) */ errn = decode_iso2EVSEFinePositioningSetupParametersType(stream, &exiFrag->EVSEFinePositioningSetupParameters); exiFrag->EVSEFinePositioningSetupParameters_isUsed = 1u; break; case 109: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEID) */ /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->EVSEID.charactersLen); if (errn == 0) { if (exiFrag->EVSEID.charactersLen >= 2) { exiFrag->EVSEID.charactersLen = (uint16_t)(exiFrag->EVSEID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, exiFrag->EVSEID.charactersLen, exiFrag->EVSEID.characters, EXIFragment_EVSEID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } exiFrag->EVSEID_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 110: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargeCurrent) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumChargeCurrent); exiFrag->EVSEMaximumChargeCurrent_isUsed = 1u; break; case 111: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargeCurrent) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumChargeCurrent); exiFrag->EVSEMaximumChargeCurrent_isUsed = 1u; break; case 112: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumChargePower) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumChargePower); exiFrag->EVSEMaximumChargePower_isUsed = 1u; break; case 113: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumChargePower) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumChargePower); exiFrag->EVSEMaximumChargePower_isUsed = 1u; break; case 114: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumCurrent) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumCurrent); exiFrag->EVSEMaximumCurrent_isUsed = 1u; break; case 115: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargeCurrent) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumDischargeCurrent); exiFrag->EVSEMaximumDischargeCurrent_isUsed = 1u; break; case 116: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargeCurrent) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumDischargeCurrent); exiFrag->EVSEMaximumDischargeCurrent_isUsed = 1u; break; case 117: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumDischargePower) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumDischargePower); exiFrag->EVSEMaximumDischargePower_isUsed = 1u; break; case 118: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumDischargePower) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumDischargePower); exiFrag->EVSEMaximumDischargePower_isUsed = 1u; break; case 119: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumPower) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumPower); exiFrag->EVSEMaximumPower_isUsed = 1u; break; case 120: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumPower) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumPower); exiFrag->EVSEMaximumPower_isUsed = 1u; break; case 121: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMaximumVoltage) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumVoltage); exiFrag->EVSEMaximumVoltage_isUsed = 1u; break; case 122: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMaximumVoltage) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMaximumVoltage); exiFrag->EVSEMaximumVoltage_isUsed = 1u; break; case 123: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMechanicalChargingDeviceStatus) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); exiFrag->EVSEMechanicalChargingDeviceStatus = (iso2mechanicalChargingDeviceStatusType) uint32; exiFrag->EVSEMechanicalChargingDeviceStatus_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 124: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumChargeCurrent) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumChargeCurrent); exiFrag->EVSEMinimumChargeCurrent_isUsed = 1u; break; case 125: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumDischargeCurrent) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumDischargeCurrent); exiFrag->EVSEMinimumDischargeCurrent_isUsed = 1u; break; case 126: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumPower) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumPower); exiFrag->EVSEMinimumPower_isUsed = 1u; break; case 127: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEMinimumVoltage) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumVoltage); exiFrag->EVSEMinimumVoltage_isUsed = 1u; break; case 128: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEMinimumVoltage) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEMinimumVoltage); exiFrag->EVSEMinimumVoltage_isUsed = 1u; break; case 129: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalFrequency) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSENominalFrequency); exiFrag->EVSENominalFrequency_isUsed = 1u; break; case 130: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENominalVoltage) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSENominalVoltage); exiFrag->EVSENominalVoltage_isUsed = 1u; break; case 131: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSENotification) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); exiFrag->EVSENotification = (iso2EVSENotificationType) uint32; exiFrag->EVSENotification_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 132: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEOutputPower) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEOutputPower); exiFrag->EVSEOutputPower_isUsed = 1u; break; case 133: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVSEPeakCurrentRipple) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEPeakCurrentRipple); exiFrag->EVSEPeakCurrentRipple_isUsed = 1u; break; case 134: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPowerLimitAchieved) */ /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &exiFrag->EVSEPowerLimitAchieved); exiFrag->EVSEPowerLimitAchieved_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 135: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentCurrent) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEPresentCurrent); exiFrag->EVSEPresentCurrent_isUsed = 1u; break; case 136: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEPresentVoltage) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSEPresentVoltage); exiFrag->EVSEPresentVoltage_isUsed = 1u; break; case 137: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEProcessing) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); exiFrag->EVSEProcessing = (iso2EVSEProcessingType) uint32; exiFrag->EVSEProcessing_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 138: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEStatus) */ errn = decode_iso2EVSEStatusType(stream, &exiFrag->EVSEStatus); exiFrag->EVSEStatus_isUsed = 1u; break; case 139: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetPower) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSETargetPower); exiFrag->EVSETargetPower_isUsed = 1u; break; case 140: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETargetReactivePower) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVSETargetReactivePower); exiFrag->EVSETargetReactivePower_isUsed = 1u; break; case 141: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSETimeStamp) */ /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger64(stream, &exiFrag->EVSETimeStamp); exiFrag->EVSETimeStamp_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 142: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVSEVoltageLimitAchieved) */ /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &exiFrag->EVSEVoltageLimitAchieved); exiFrag->EVSEVoltageLimitAchieved_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 143: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetCurrent) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVTargetCurrent); exiFrag->EVTargetCurrent_isUsed = 1u; break; case 144: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetEnergyRequest) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVTargetEnergyRequest); exiFrag->EVTargetEnergyRequest_isUsed = 1u; break; case 145: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EVTargetEnergyRequest) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVTargetEnergyRequest); exiFrag->EVTargetEnergyRequest_isUsed = 1u; break; case 146: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetPower) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVTargetPower); exiFrag->EVTargetPower_isUsed = 1u; break; case 147: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EVTargetVoltage) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->EVTargetVoltage); exiFrag->EVTargetVoltage_isUsed = 1u; break; case 148: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}EffectiveRadiatedPower) */ /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); exiFrag->EffectiveRadiatedPower = (int8_t)(uint32 -128); exiFrag->EffectiveRadiatedPower_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 149: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}EnergyTransferServiceList) */ errn = decode_iso2ServiceListType(stream, &exiFrag->EnergyTransferServiceList); exiFrag->EnergyTransferServiceList_isUsed = 1u; break; case 150: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Exponent) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name Exponent */ break; case 151: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Exponent) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name Exponent */ break; case 152: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FODStatus) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); exiFrag->FODStatus = (iso2FODStatusType) uint32; exiFrag->FODStatus_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 153: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningReq) */ errn = decode_iso2FinePositioningReqType(stream, &exiFrag->FinePositioningReq); exiFrag->FinePositioningReq_isUsed = 1u; break; case 154: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningRes) */ errn = decode_iso2FinePositioningResType(stream, &exiFrag->FinePositioningRes); exiFrag->FinePositioningRes_isUsed = 1u; break; case 155: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupReq) */ errn = decode_iso2FinePositioningSetupReqType(stream, &exiFrag->FinePositioningSetupReq); exiFrag->FinePositioningSetupReq_isUsed = 1u; break; case 156: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}FinePositioningSetupRes) */ errn = decode_iso2FinePositioningSetupResType(stream, &exiFrag->FinePositioningSetupRes); exiFrag->FinePositioningSetupRes_isUsed = 1u; break; case 157: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FreeService) */ /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &exiFrag->FreeService); exiFrag->FreeService_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 158: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}FrequencyChannel) */ /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger32(stream, &exiFrag->FrequencyChannel); exiFrag->FrequencyChannel_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 159: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}G) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->G.bytesLen); if (errn == 0) { errn = (exiFrag->G.bytesLen) <= EXIFragment_G_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, exiFrag->G.bytesLen, exiFrag->G.bytes); } exiFrag->G_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 160: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GAID) */ /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->GAID.charactersLen); if (errn == 0) { if (exiFrag->GAID.charactersLen >= 2) { exiFrag->GAID.charactersLen = (uint16_t)(exiFrag->GAID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, exiFrag->GAID.charactersLen, exiFrag->GAID.characters, EXIFragment_GAID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } exiFrag->GAID_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 161: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}GenChallenge) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->GenChallenge.bytesLen); if (errn == 0) { errn = (exiFrag->GenChallenge.bytesLen) <= EXIFragment_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, exiFrag->GenChallenge.bytesLen, exiFrag->GenChallenge.bytes); } exiFrag->GenChallenge_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 162: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}GenericParameters) */ errn = decode_iso2ParameterSetType(stream, &exiFrag->GenericParameters); exiFrag->GenericParameters_isUsed = 1u; break; case 163: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVFinePositioningParameters) */ errn = decode_iso2Generic_EVFinePositioningParametersType(stream, &exiFrag->Generic_EVFinePositioningParameters); exiFrag->Generic_EVFinePositioningParameters_isUsed = 1u; break; case 164: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Generic_EVSEFinePositioningParameters) */ errn = decode_iso2Generic_EVSEFinePositioningParametersType(stream, &exiFrag->Generic_EVSEFinePositioningParameters); exiFrag->Generic_EVSEFinePositioningParameters_isUsed = 1u; break; case 165: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */ /* FirstStartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger64(stream, &exiFrag->HMACOutputLength); exiFrag->HMACOutputLength_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 166: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}Header) */ errn = decode_iso2MessageHeaderType(stream, &exiFrag->Header); exiFrag->Header_isUsed = 1u; break; case 167: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}InletHot) */ /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &exiFrag->InletHot); exiFrag->InletHot_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 168: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}J) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->J.bytesLen); if (errn == 0) { errn = (exiFrag->J.bytesLen) <= EXIFragment_J_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, exiFrag->J.bytesLen, exiFrag->J.bytes); } exiFrag->J_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 169: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyInfo) */ errn = decode_iso2KeyInfoType(stream, &exiFrag->KeyInfo); exiFrag->KeyInfo_isUsed = 1u; break; case 170: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyName) */ /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->KeyName.charactersLen); if (errn == 0) { if (exiFrag->KeyName.charactersLen >= 2) { exiFrag->KeyName.charactersLen = (uint16_t)(exiFrag->KeyName.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, exiFrag->KeyName.charactersLen, exiFrag->KeyName.characters, EXIFragment_KeyName_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } exiFrag->KeyName_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 171: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}KeyValue) */ errn = decode_iso2KeyValueType(stream, &exiFrag->KeyValue); exiFrag->KeyValue_isUsed = 1u; break; case 172: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningParameters) */ errn = decode_iso2LFA_EVFinePositioningParametersType(stream, &exiFrag->LFA_EVFinePositioningParameters); exiFrag->LFA_EVFinePositioningParameters_isUsed = 1u; break; case 173: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVFinePositioningSetupParameters) */ errn = decode_iso2LFA_EVFinePositioningSetupParametersType(stream, &exiFrag->LFA_EVFinePositioningSetupParameters); exiFrag->LFA_EVFinePositioningSetupParameters_isUsed = 1u; break; case 174: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningParameters) */ errn = decode_iso2LFA_EVSEFinePositioningParametersType(stream, &exiFrag->LFA_EVSEFinePositioningParameters); exiFrag->LFA_EVSEFinePositioningParameters_isUsed = 1u; break; case 175: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}LFA_EVSEFinePositioningSetupParameters) */ errn = decode_iso2LFA_EVSEFinePositioningSetupParametersType(stream, &exiFrag->LFA_EVSEFinePositioningSetupParameters); exiFrag->LFA_EVSEFinePositioningSetupParameters_isUsed = 1u; break; case 176: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ListOfRootCertificateIDs) */ errn = decode_iso2ListOfRootCertificateIDsType(stream, &exiFrag->ListOfRootCertificateIDs); exiFrag->ListOfRootCertificateIDs_isUsed = 1u; break; case 177: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningParameters) */ errn = decode_iso2MV_EVSEFinePositioningParametersType(stream, &exiFrag->MV_EVSEFinePositioningParameters); exiFrag->MV_EVSEFinePositioningParameters_isUsed = 1u; break; case 178: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MV_EVSEFinePositioningSetupParameters) */ errn = decode_iso2MV_EVSEFinePositioningSetupParametersType(stream, &exiFrag->MV_EVSEFinePositioningSetupParameters); exiFrag->MV_EVSEFinePositioningSetupParameters_isUsed = 1u; break; case 179: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVector) */ errn = decode_iso2MagneticVectorType(stream, &exiFrag->MagneticVector); exiFrag->MagneticVector_isUsed = 1u; break; case 180: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorList) */ errn = decode_iso2MagneticVectorListType(stream, &exiFrag->MagneticVectorList); exiFrag->MagneticVectorList_isUsed = 1u; break; case 181: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetup) */ errn = decode_iso2MagneticVectorSetupType(stream, &exiFrag->MagneticVectorSetup); exiFrag->MagneticVectorSetup_isUsed = 1u; break; case 182: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MagneticVectorSetupList) */ errn = decode_iso2MagneticVectorSetupListType(stream, &exiFrag->MagneticVectorSetupList); exiFrag->MagneticVectorSetupList_isUsed = 1u; break; case 183: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ errn = decode_iso2ManifestType(stream, &exiFrag->Manifest); exiFrag->Manifest_isUsed = 1u; break; case 184: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MaxSupportingPoints) */ /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 10, &(uint32)); exiFrag->MaxSupportingPoints = (uint16_t)(uint32 + 12); exiFrag->MaxSupportingPoints_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 185: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementData) */ /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->MeasurementData); exiFrag->MeasurementData_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 186: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeasurementDataList) */ errn = decode_iso2MeasurementDataListType(stream, &exiFrag->MeasurementDataList); exiFrag->MeasurementDataList_isUsed = 1u; break; case 187: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterID) */ /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->MeterID.charactersLen); if (errn == 0) { if (exiFrag->MeterID.charactersLen >= 2) { exiFrag->MeterID.charactersLen = (uint16_t)(exiFrag->MeterID.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, exiFrag->MeterID.charactersLen, exiFrag->MeterID.characters, EXIFragment_MeterID_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } exiFrag->MeterID_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 188: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeterInfo) */ errn = decode_iso2MeterInfoType(stream, &exiFrag->MeterInfo); exiFrag->MeterInfo_isUsed = 1u; break; case 189: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingCharged) */ /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger64(stream, &exiFrag->MeterReadingCharged); exiFrag->MeterReadingCharged_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 190: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterReadingDischarged) */ /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger64(stream, &exiFrag->MeterReadingDischarged); exiFrag->MeterReadingDischarged_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 191: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MeterStatus) */ /* FirstStartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger16(stream, &exiFrag->MeterStatus); exiFrag->MeterStatus_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 192: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptReq) */ errn = decode_iso2MeteringReceiptReqType(stream, &exiFrag->MeteringReceiptReq); exiFrag->MeteringReceiptReq_isUsed = 1u; break; case 193: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MeteringReceiptRes) */ errn = decode_iso2MeteringReceiptResType(stream, &exiFrag->MeteringReceiptRes); exiFrag->MeteringReceiptRes_isUsed = 1u; break; case 194: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}MgmtData) */ /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->MgmtData.charactersLen); if (errn == 0) { if (exiFrag->MgmtData.charactersLen >= 2) { exiFrag->MgmtData.charactersLen = (uint16_t)(exiFrag->MgmtData.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, exiFrag->MgmtData.charactersLen, exiFrag->MgmtData.characters, EXIFragment_MgmtData_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } exiFrag->MgmtData_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 195: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}MinimumPMaxRequest) */ errn = decode_iso2MinimumPMaxRequestType(stream, &exiFrag->MinimumPMaxRequest); exiFrag->MinimumPMaxRequest_isUsed = 1u; break; case 196: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumPMaxScheduleEntry) */ errn = decode_iso2PMaxScheduleEntryType(stream, &exiFrag->MinimumPMaxScheduleEntry); exiFrag->MinimumPMaxScheduleEntry_isUsed = 1u; break; case 197: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}MinimumSOC) */ /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); exiFrag->MinimumSOC = (int8_t)(uint32 + 0); exiFrag->MinimumSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 198: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Modulus) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->Modulus.bytesLen); if (errn == 0) { errn = (exiFrag->Modulus.bytesLen) <= EXIFragment_Modulus_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, exiFrag->Modulus.bytesLen, exiFrag->Modulus.bytes); } exiFrag->Modulus_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 199: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NotificationMaxDelay) */ /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->NotificationMaxDelay); exiFrag->NotificationMaxDelay_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 200: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumEPriceLevels) */ /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); exiFrag->NumEPriceLevels = (uint8_t)(uint32 + 0); exiFrag->NumEPriceLevels_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 201: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSensors) */ /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); exiFrag->NumberOfSensors = (uint8_t)(uint32 + 0); exiFrag->NumberOfSensors_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 202: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}NumberOfSignalPackages) */ /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); exiFrag->NumberOfSignalPackages = (uint8_t)(uint32 + 0); exiFrag->NumberOfSignalPackages_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 203: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OEMProvisioningCert) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->OEMProvisioningCert.bytesLen); if (errn == 0) { errn = (exiFrag->OEMProvisioningCert.bytesLen) <= EXIFragment_OEMProvisioningCert_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, exiFrag->OEMProvisioningCert.bytesLen, exiFrag->OEMProvisioningCert.bytes); } exiFrag->OEMProvisioningCert_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 204: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Object) */ errn = decode_iso2ObjectType(stream, &exiFrag->Object); exiFrag->Object_isUsed = 1u; break; case 205: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}OperationMode) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); exiFrag->OperationMode = (iso2operationModeType) uint32; exiFrag->OperationMode_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 206: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}P) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->P.bytesLen); if (errn == 0) { errn = (exiFrag->P.bytesLen) <= EXIFragment_P_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, exiFrag->P.bytesLen, exiFrag->P.bytes); } exiFrag->P_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 207: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPData) */ errn = decode_iso2PGPDataType(stream, &exiFrag->PGPData); exiFrag->PGPData_isUsed = 1u; break; case 208: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyID) */ /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->PGPKeyID.bytesLen); if (errn == 0) { errn = (exiFrag->PGPKeyID.bytesLen) <= EXIFragment_PGPKeyID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, exiFrag->PGPKeyID.bytesLen, exiFrag->PGPKeyID.bytes); } exiFrag->PGPKeyID_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 209: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */ /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->PGPKeyPacket.bytesLen); if (errn == 0) { errn = (exiFrag->PGPKeyPacket.bytesLen) <= EXIFragment_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, exiFrag->PGPKeyPacket.bytesLen, exiFrag->PGPKeyPacket.bytes); } exiFrag->PGPKeyPacket_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 210: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMax) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->PMax); exiFrag->PMax_isUsed = 1u; break; case 211: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxDischargeSchedule) */ errn = decode_iso2PMaxScheduleType(stream, &exiFrag->PMaxDischargeSchedule); exiFrag->PMaxDischargeSchedule_isUsed = 1u; break; case 212: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxSchedule) */ errn = decode_iso2PMaxScheduleType(stream, &exiFrag->PMaxSchedule); exiFrag->PMaxSchedule_isUsed = 1u; break; case 213: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PMaxScheduleEntry) */ errn = decode_iso2PMaxScheduleEntryType(stream, &exiFrag->PMaxScheduleEntry); exiFrag->PMaxScheduleEntry_isUsed = 1u; break; case 214: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageIndex) */ /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger32(stream, &exiFrag->PackageIndex); exiFrag->PackageIndex_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 215: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PackageSeparationTime) */ /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); exiFrag->PackageSeparationTime = (uint8_t)(uint32 + 0); exiFrag->PackageSeparationTime_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 216: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingParameters) */ errn = decode_iso2ParameterSetType(stream, &exiFrag->PairingParameters); exiFrag->PairingParameters_isUsed = 1u; break; case 217: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingReq) */ errn = decode_iso2PairingReqType(stream, &exiFrag->PairingReq); exiFrag->PairingReq_isUsed = 1u; break; case 218: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PairingRes) */ errn = decode_iso2PairingResType(stream, &exiFrag->PairingRes); exiFrag->PairingRes_isUsed = 1u; break; case 219: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Parameter) */ errn = decode_iso2ParameterType(stream, &exiFrag->Parameter); exiFrag->Parameter_isUsed = 1u; break; case 220: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSet) */ errn = decode_iso2ParameterSetType(stream, &exiFrag->ParameterSet); exiFrag->ParameterSet_isUsed = 1u; break; case 221: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ParameterSetID) */ /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->ParameterSetID); exiFrag->ParameterSetID_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 222: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ParkingMethod) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); exiFrag->ParkingMethod = (iso2parkingMethodType) uint32; exiFrag->ParkingMethod_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 223: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsReq) */ errn = decode_iso2PaymentDetailsReqType(stream, &exiFrag->PaymentDetailsReq); exiFrag->PaymentDetailsReq_isUsed = 1u; break; case 224: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentDetailsRes) */ errn = decode_iso2PaymentDetailsResType(stream, &exiFrag->PaymentDetailsRes); exiFrag->PaymentDetailsRes_isUsed = 1u; break; case 225: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}PaymentOption) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); exiFrag->PaymentOption = (iso2paymentOptionType) uint32; exiFrag->PaymentOption_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 226: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentOptionList) */ errn = decode_iso2PaymentOptionListType(stream, &exiFrag->PaymentOptionList); exiFrag->PaymentOptionList_isUsed = 1u; break; case 227: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionReq) */ errn = decode_iso2PaymentServiceSelectionReqType(stream, &exiFrag->PaymentServiceSelectionReq); exiFrag->PaymentServiceSelectionReq_isUsed = 1u; break; case 228: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PaymentServiceSelectionRes) */ errn = decode_iso2PaymentServiceSelectionResType(stream, &exiFrag->PaymentServiceSelectionRes); exiFrag->PaymentServiceSelectionRes_isUsed = 1u; break; case 229: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PgenCounter) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->PgenCounter.bytesLen); if (errn == 0) { errn = (exiFrag->PgenCounter.bytesLen) <= EXIFragment_PgenCounter_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, exiFrag->PgenCounter.bytesLen, exiFrag->PgenCounter.bytes); } exiFrag->PgenCounter_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 230: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryReq) */ errn = decode_iso2PowerDeliveryReqType(stream, &exiFrag->PowerDeliveryReq); exiFrag->PowerDeliveryReq_isUsed = 1u; break; case 231: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDeliveryRes) */ errn = decode_iso2PowerDeliveryResType(stream, &exiFrag->PowerDeliveryRes); exiFrag->PowerDeliveryRes_isUsed = 1u; break; case 232: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandParameters) */ errn = decode_iso2ParameterSetType(stream, &exiFrag->PowerDemandParameters); exiFrag->PowerDemandParameters_isUsed = 1u; break; case 233: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandReq) */ errn = decode_iso2PowerDemandReqType(stream, &exiFrag->PowerDemandReq); exiFrag->PowerDemandReq_isUsed = 1u; break; case 234: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PowerDemandRes) */ errn = decode_iso2PowerDemandResType(stream, &exiFrag->PowerDemandRes); exiFrag->PowerDemandRes_isUsed = 1u; break; case 235: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeReq) */ errn = decode_iso2PreChargeReqType(stream, &exiFrag->PreChargeReq); exiFrag->PreChargeReq_isUsed = 1u; break; case 236: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}PreChargeRes) */ errn = decode_iso2PreChargeResType(stream, &exiFrag->PreChargeRes); exiFrag->PreChargeRes_isUsed = 1u; break; case 237: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ProfileEntry) */ errn = decode_iso2PMaxScheduleEntryType(stream, &exiFrag->ProfileEntry); exiFrag->ProfileEntry_isUsed = 1u; break; case 238: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Q) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->Q.bytesLen); if (errn == 0) { errn = (exiFrag->Q.bytesLen) <= EXIFragment_Q_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, exiFrag->Q.bytesLen, exiFrag->Q.bytes); } exiFrag->Q_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 239: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RSAKeyValue) */ errn = decode_iso2RSAKeyValueType(stream, &exiFrag->RSAKeyValue); exiFrag->RSAKeyValue_isUsed = 1u; break; case 240: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ReceiptRequired) */ /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &exiFrag->ReceiptRequired); exiFrag->ReceiptRequired_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 241: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ errn = decode_iso2ReferenceType(stream, &exiFrag->Reference); exiFrag->Reference_isUsed = 1u; break; case 242: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RelativeTimeInterval) */ errn = decode_iso2RelativeTimeIntervalType(stream, &exiFrag->RelativeTimeInterval); exiFrag->RelativeTimeInterval_isUsed = 1u; break; case 243: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToBulkSOC) */ /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); exiFrag->RemainingTimeToBulkSOC = (int8_t)(uint32 + 0); exiFrag->RemainingTimeToBulkSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 244: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToMinimumSOC) */ /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); exiFrag->RemainingTimeToMinimumSOC = (int8_t)(uint32 + 0); exiFrag->RemainingTimeToMinimumSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 245: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RemainingTimeToTargetSOC) */ /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); exiFrag->RemainingTimeToTargetSOC = (int8_t)(uint32 + 0); exiFrag->RemainingTimeToTargetSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 246: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ResponseCode) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 5, &uint32); exiFrag->ResponseCode = (iso2responseCodeType) uint32; exiFrag->ResponseCode_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 247: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ errn = decode_iso2RetrievalMethodType(stream, &exiFrag->RetrievalMethod); exiFrag->RetrievalMethod_isUsed = 1u; break; case 248: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}RetryCounter) */ /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger16(stream, &exiFrag->RetryCounter); exiFrag->RetryCounter_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 249: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RootCertificateID) */ errn = decode_iso2X509IssuerSerialType(stream, &exiFrag->RootCertificateID); exiFrag->RootCertificateID_isUsed = 1u; break; case 250: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}RotationVAtoGA) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->RotationVAtoGA); exiFrag->RotationVAtoGA_isUsed = 1u; break; case 251: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAProvisioningCertificateChain) */ errn = decode_iso2CertificateChainType(stream, &exiFrag->SAProvisioningCertificateChain); exiFrag->SAProvisioningCertificateChain_isUsed = 1u; break; case 252: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleList) */ errn = decode_iso2SAScheduleListType(stream, &exiFrag->SAScheduleList); exiFrag->SAScheduleList_isUsed = 1u; break; case 253: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleList) */ errn = decode_iso2SAScheduleListType(stream, &exiFrag->SAScheduleList); exiFrag->SAScheduleList_isUsed = 1u; break; case 254: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTuple) */ errn = decode_iso2SAScheduleTupleType(stream, &exiFrag->SAScheduleTuple); exiFrag->SAScheduleTuple_isUsed = 1u; break; case 255: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SAScheduleTupleID) */ /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); exiFrag->SAScheduleTupleID = (uint8_t)(uint32 + 1); exiFrag->SAScheduleTupleID_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 256: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SAScheduleTupleID) */ /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); exiFrag->SAScheduleTupleID = (uint8_t)(uint32 + 1); exiFrag->SAScheduleTupleID_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 257: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKIData) */ errn = decode_iso2SPKIDataType(stream, &exiFrag->SPKIData); exiFrag->SPKIData_isUsed = 1u; break; case 258: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SPKISexp) */ /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->SPKISexp.bytesLen); if (errn == 0) { errn = (exiFrag->SPKISexp.bytesLen) <= EXIFragment_SPKISexp_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, exiFrag->SPKISexp.bytesLen, exiFrag->SPKISexp.bytes); } exiFrag->SPKISexp_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 259: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariff) */ errn = decode_iso2SalesTariffType(stream, &exiFrag->SalesTariff); exiFrag->SalesTariff_isUsed = 1u; break; case 260: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffDescription) */ /* FirstStartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->SalesTariffDescription.charactersLen); if (errn == 0) { if (exiFrag->SalesTariffDescription.charactersLen >= 2) { exiFrag->SalesTariffDescription.charactersLen = (uint16_t)(exiFrag->SalesTariffDescription.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, exiFrag->SalesTariffDescription.charactersLen, exiFrag->SalesTariffDescription.characters, EXIFragment_SalesTariffDescription_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } exiFrag->SalesTariffDescription_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 261: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffEntry) */ errn = decode_iso2SalesTariffEntryType(stream, &exiFrag->SalesTariffEntry); exiFrag->SalesTariffEntry_isUsed = 1u; break; case 262: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SalesTariffID) */ /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); exiFrag->SalesTariffID = (uint8_t)(uint32 + 1); exiFrag->SalesTariffID_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 263: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Seed) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->Seed.bytesLen); if (errn == 0) { errn = (exiFrag->Seed.bytesLen) <= EXIFragment_Seed_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, exiFrag->Seed.bytesLen, exiFrag->Seed.bytes); } exiFrag->Seed_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 264: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedEnergyTransferService) */ errn = decode_iso2SelectedServiceType(stream, &exiFrag->SelectedEnergyTransferService); exiFrag->SelectedEnergyTransferService_isUsed = 1u; break; case 265: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedPaymentOption) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 1, &uint32); exiFrag->SelectedPaymentOption = (iso2paymentOptionType) uint32; exiFrag->SelectedPaymentOption_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 266: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SelectedService) */ errn = decode_iso2SelectedServiceType(stream, &exiFrag->SelectedService); exiFrag->SelectedService_isUsed = 1u; break; case 267: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SelectedVASList) */ errn = decode_iso2SelectedServiceListType(stream, &exiFrag->SelectedVASList); exiFrag->SelectedVASList_isUsed = 1u; break; case 268: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Sensor) */ errn = decode_iso2SensorType(stream, &exiFrag->Sensor); exiFrag->Sensor_isUsed = 1u; break; case 269: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorID) */ /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); exiFrag->SensorID = (uint8_t)(uint32 + 0); exiFrag->SensorID_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 270: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorList) */ errn = decode_iso2SensorListType(stream, &exiFrag->SensorList); exiFrag->SensorList_isUsed = 1u; break; case 271: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorMeasurements) */ errn = decode_iso2SensorMeasurementsType(stream, &exiFrag->SensorMeasurements); exiFrag->SensorMeasurements_isUsed = 1u; break; case 272: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrder) */ errn = decode_iso2SensorOrderListType(stream, &exiFrag->SensorOrder); exiFrag->SensorOrder_isUsed = 1u; break; case 273: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorOrientation) */ errn = decode_iso2CartesianCoordinatesType(stream, &exiFrag->SensorOrientation); exiFrag->SensorOrientation_isUsed = 1u; break; case 274: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackage) */ errn = decode_iso2SensorPackageType(stream, &exiFrag->SensorPackage); exiFrag->SensorPackage_isUsed = 1u; break; case 275: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPackageList) */ errn = decode_iso2SensorPackageListType(stream, &exiFrag->SensorPackageList); exiFrag->SensorPackageList_isUsed = 1u; break; case 276: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SensorPosition) */ errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SensorPosition */ break; case 277: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Service) */ errn = decode_iso2ServiceType(stream, &exiFrag->Service); exiFrag->Service_isUsed = 1u; break; case 278: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailReq) */ errn = decode_iso2ServiceDetailReqType(stream, &exiFrag->ServiceDetailReq); exiFrag->ServiceDetailReq_isUsed = 1u; break; case 279: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDetailRes) */ errn = decode_iso2ServiceDetailResType(stream, &exiFrag->ServiceDetailRes); exiFrag->ServiceDetailRes_isUsed = 1u; break; case 280: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryReq) */ errn = decode_iso2ServiceDiscoveryReqType(stream, &exiFrag->ServiceDiscoveryReq); exiFrag->ServiceDiscoveryReq_isUsed = 1u; break; case 281: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceDiscoveryRes) */ errn = decode_iso2ServiceDiscoveryResType(stream, &exiFrag->ServiceDiscoveryRes); exiFrag->ServiceDiscoveryRes_isUsed = 1u; break; case 282: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceID) */ /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceID); exiFrag->ServiceID_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 283: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ServiceID) */ /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceID); exiFrag->ServiceID_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 284: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}ServiceParameterList) */ errn = decode_iso2ServiceParameterListType(stream, &exiFrag->ServiceParameterList); exiFrag->ServiceParameterList_isUsed = 1u; break; case 285: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionID) */ /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->SessionID.bytesLen); if (errn == 0) { errn = (exiFrag->SessionID.bytesLen) <= EXIFragment_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, exiFrag->SessionID.bytesLen, exiFrag->SessionID.bytes); } exiFrag->SessionID_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 286: /* START_ELEMENT({urn:iso:15118:2:2016:MsgHeader}SessionID) */ /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->SessionID.bytesLen); if (errn == 0) { errn = (exiFrag->SessionID.bytesLen) <= EXIFragment_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, exiFrag->SessionID.bytesLen, exiFrag->SessionID.bytes); } exiFrag->SessionID_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 287: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupReq) */ errn = decode_iso2SessionSetupReqType(stream, &exiFrag->SessionSetupReq); exiFrag->SessionSetupReq_isUsed = 1u; break; case 288: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionSetupRes) */ errn = decode_iso2SessionSetupResType(stream, &exiFrag->SessionSetupRes); exiFrag->SessionSetupRes_isUsed = 1u; break; case 289: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopReq) */ errn = decode_iso2SessionStopReqType(stream, &exiFrag->SessionStopReq); exiFrag->SessionStopReq_isUsed = 1u; break; case 290: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SessionStopRes) */ errn = decode_iso2SessionStopResType(stream, &exiFrag->SessionStopRes); exiFrag->SessionStopRes_isUsed = 1u; break; case 291: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SigMeterReading) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->SigMeterReading.bytesLen); if (errn == 0) { errn = (exiFrag->SigMeterReading.bytesLen) <= EXIFragment_SigMeterReading_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, exiFrag->SigMeterReading.bytesLen, exiFrag->SigMeterReading.bytes); } exiFrag->SigMeterReading_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 292: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalFrequency) */ /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->SignalFrequency); exiFrag->SignalFrequency_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 293: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalPulseDuration) */ /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); exiFrag->SignalPulseDuration = (uint8_t)(uint32 + 0); exiFrag->SignalPulseDuration_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 294: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SignalSeparationTime) */ /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); exiFrag->SignalSeparationTime = (uint8_t)(uint32 + 0); exiFrag->SignalSeparationTime_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 295: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Signature) */ errn = decode_iso2SignatureType(stream, &exiFrag->Signature); exiFrag->Signature_isUsed = 1u; break; case 296: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureMethod) */ errn = decode_iso2SignatureMethodType(stream, &exiFrag->SignatureMethod); exiFrag->SignatureMethod_isUsed = 1u; break; case 297: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperties) */ errn = decode_iso2SignaturePropertiesType(stream, &exiFrag->SignatureProperties); exiFrag->SignatureProperties_isUsed = 1u; break; case 298: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureProperty) */ errn = decode_iso2SignaturePropertyType(stream, &exiFrag->SignatureProperty); exiFrag->SignatureProperty_isUsed = 1u; break; case 299: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignatureValue) */ errn = decode_iso2SignatureValueType(stream, &exiFrag->SignatureValue); exiFrag->SignatureValue_isUsed = 1u; break; case 300: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}SignedInfo) */ errn = decode_iso2SignedInfoType(stream, &exiFrag->SignedInfo); exiFrag->SignedInfo_isUsed = 1u; break; case 301: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}SubCertificates) */ errn = decode_iso2SubCertificatesType(stream, &exiFrag->SubCertificates); exiFrag->SubCertificates_isUsed = 1u; break; case 302: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SupportedServiceIDs) */ errn = decode_iso2ServiceIDListType(stream, &exiFrag->SupportedServiceIDs); exiFrag->SupportedServiceIDs_isUsed = 1u; break; case 303: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusReq) */ errn = decode_iso2SystemStatusReqType(stream, &exiFrag->SystemStatusReq); exiFrag->SystemStatusReq_isUsed = 1u; break; case 304: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}SystemStatusRes) */ errn = decode_iso2SystemStatusResType(stream, &exiFrag->SystemStatusRes); exiFrag->SystemStatusRes_isUsed = 1u; break; case 305: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TMeter) */ /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger64(stream, &exiFrag->TMeter); exiFrag->TMeter_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 306: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}TargetOffset) */ errn = decode_iso2TargetPositionType(stream, &exiFrag->TargetOffset); exiFrag->TargetOffset_isUsed = 1u; break; case 307: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetX) */ /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->TargetOffsetX); exiFrag->TargetOffsetX_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 308: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetOffsetY) */ /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->TargetOffsetY); exiFrag->TargetOffsetY_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 309: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}TargetSOC) */ /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 7, &(uint32)); exiFrag->TargetSOC = (int8_t)(uint32 + 0); exiFrag->TargetSOC_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 310: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transform) */ errn = decode_iso2TransformType(stream, &exiFrag->Transform); exiFrag->Transform_isUsed = 1u; break; case 311: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Transforms) */ errn = decode_iso2TransformsType(stream, &exiFrag->Transforms); exiFrag->Transforms_isUsed = 1u; break; case 312: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GRequest) */ errn = decode_iso2BodyBaseType(stream, &exiFrag->V2GRequest); exiFrag->V2GRequest_isUsed = 1u; break; case 313: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}V2GResponse) */ errn = decode_iso2V2GResponseType(stream, &exiFrag->V2GResponse); exiFrag->V2GResponse_isUsed = 1u; break; case 314: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDef}V2G_Message) */ errn = decode_iso2AnonType_V2G_Message(stream, &exiFrag->V2G_Message); exiFrag->V2G_Message_isUsed = 1u; break; case 315: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VASList) */ errn = decode_iso2ServiceListType(stream, &exiFrag->VASList); exiFrag->VASList_isUsed = 1u; break; case 316: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}Value) */ /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger16(stream, &exiFrag->Value); exiFrag->Value_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 317: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInReq) */ errn = decode_iso2VehicleCheckInReqType(stream, &exiFrag->VehicleCheckInReq); exiFrag->VehicleCheckInReq_isUsed = 1u; break; case 318: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckInRes) */ errn = decode_iso2VehicleCheckInResType(stream, &exiFrag->VehicleCheckInRes); exiFrag->VehicleCheckInRes_isUsed = 1u; break; case 319: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutReq) */ errn = decode_iso2VehicleCheckOutReqType(stream, &exiFrag->VehicleCheckOutReq); exiFrag->VehicleCheckOutReq_isUsed = 1u; break; case 320: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleCheckOutRes) */ errn = decode_iso2VehicleCheckOutResType(stream, &exiFrag->VehicleCheckOutRes); exiFrag->VehicleCheckOutRes_isUsed = 1u; break; case 321: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}VehicleSpace) */ /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->VehicleSpace); exiFrag->VehicleSpace_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 322: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVChargeParameter) */ errn = decode_iso2WPT_EVChargeParameterType(stream, &exiFrag->WPT_EVChargeParameter); exiFrag->WPT_EVChargeParameter_isUsed = 1u; break; case 323: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}WPT_EVSEChargeParameter) */ errn = decode_iso2WPT_EVSEChargeParameterType(stream, &exiFrag->WPT_EVSEChargeParameter); exiFrag->WPT_EVSEChargeParameter_isUsed = 1u; break; case 324: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionReq) */ errn = decode_iso2WeldingDetectionReqType(stream, &exiFrag->WeldingDetectionReq); exiFrag->WeldingDetectionReq_isUsed = 1u; break; case 325: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}WeldingDetectionRes) */ errn = decode_iso2WeldingDetectionResType(stream, &exiFrag->WeldingDetectionRes); exiFrag->WeldingDetectionRes_isUsed = 1u; break; case 326: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509CRL) */ /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->X509CRL.bytesLen); if (errn == 0) { errn = (exiFrag->X509CRL.bytesLen) <= EXIFragment_X509CRL_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, exiFrag->X509CRL.bytesLen, exiFrag->X509CRL.bytes); } exiFrag->X509CRL_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 327: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Certificate) */ /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->X509Certificate.bytesLen); if (errn == 0) { errn = (exiFrag->X509Certificate.bytesLen) <= EXIFragment_X509Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, exiFrag->X509Certificate.bytesLen, exiFrag->X509Certificate.bytes); } exiFrag->X509Certificate_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 328: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509Data) */ errn = decode_iso2X509DataType(stream, &exiFrag->X509Data); exiFrag->X509Data_isUsed = 1u; break; case 329: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerName) */ /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->X509IssuerName.charactersLen); if (errn == 0) { if (exiFrag->X509IssuerName.charactersLen >= 2) { exiFrag->X509IssuerName.charactersLen = (uint16_t)(exiFrag->X509IssuerName.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, exiFrag->X509IssuerName.charactersLen, exiFrag->X509IssuerName.characters, EXIFragment_X509IssuerName_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } exiFrag->X509IssuerName_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 330: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509IssuerSerial) */ errn = decode_iso2X509IssuerSerialType(stream, &exiFrag->X509IssuerSerial); exiFrag->X509IssuerSerial_isUsed = 1u; break; case 331: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SKI) */ /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->X509SKI.bytesLen); if (errn == 0) { errn = (exiFrag->X509SKI.bytesLen) <= EXIFragment_X509SKI_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, exiFrag->X509SKI.bytesLen, exiFrag->X509SKI.bytes); } exiFrag->X509SKI_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 332: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SerialNumber) */ /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger64(stream, &exiFrag->X509SerialNumber); exiFrag->X509SerialNumber_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 333: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}X509SubjectName) */ /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->X509SubjectName.charactersLen); if (errn == 0) { if (exiFrag->X509SubjectName.charactersLen >= 2) { exiFrag->X509SubjectName.charactersLen = (uint16_t)(exiFrag->X509SubjectName.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, exiFrag->X509SubjectName.charactersLen, exiFrag->X509SubjectName.characters, EXIFragment_X509SubjectName_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } exiFrag->X509SubjectName_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 334: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}XCoordinate) */ /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger16(stream, &exiFrag->XCoordinate); exiFrag->XCoordinate_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 335: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}XPath) */ /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->XPath.charactersLen); if (errn == 0) { if (exiFrag->XPath.charactersLen >= 2) { exiFrag->XPath.charactersLen = (uint16_t)(exiFrag->XPath.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, exiFrag->XPath.charactersLen, exiFrag->XPath.characters, EXIFragment_XPath_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } exiFrag->XPath_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 336: /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Y) */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->Y.bytesLen); if (errn == 0) { errn = (exiFrag->Y.bytesLen) <= EXIFragment_Y_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER; } if (errn == 0) { errn = decodeBytes(stream, exiFrag->Y.bytesLen, exiFrag->Y.bytes); } exiFrag->Y_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 337: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}YCoordinate) */ /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger16(stream, &exiFrag->YCoordinate); exiFrag->YCoordinate_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 338: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}ZCoordinate) */ /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger16(stream, &exiFrag->ZCoordinate); exiFrag->ZCoordinate_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 339: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}amount) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->amount); exiFrag->amount_isUsed = 1u; break; case 340: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}boolValue) */ /* FirstStartTag[CHARACTERS[BOOLEAN]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeBoolean(stream, &exiFrag->boolValue); exiFrag->boolValue_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 341: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}byteValue) */ /* First(xsi:type)StartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 8, &(uint32)); exiFrag->byteValue = (int8_t)(uint32 -128); exiFrag->byteValue_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 342: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}costKind) */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeNBitUnsignedInteger(stream, 2, &uint32); exiFrag->costKind = (iso2costKindType) uint32; exiFrag->costKind_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 343: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}duration) */ /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger32(stream, &exiFrag->duration); exiFrag->duration_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 344: /* START_ELEMENT({urn:iso:15118:2:2016:MsgBody}eMAID) */ errn = decode_iso2EMAIDType(stream, &exiFrag->eMAID); exiFrag->eMAID_isUsed = 1u; break; case 345: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}intValue) */ /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger32(stream, &exiFrag->intValue); exiFrag->intValue_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 346: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}physicalValue) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->physicalValue); exiFrag->physicalValue_isUsed = 1u; break; case 347: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}shortValue) */ /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeInteger16(stream, &exiFrag->shortValue); exiFrag->shortValue_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 348: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}start) */ /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger32(stream, &exiFrag->start); exiFrag->start_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; case 349: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}startValue) */ errn = decode_iso2PhysicalValueType(stream, &exiFrag->startValue); exiFrag->startValue_isUsed = 1u; break; case 350: /* START_ELEMENT({urn:iso:15118:2:2016:MsgDataTypes}stringValue) */ /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); if(errn == 0) { if(eventCode == 0) { errn = decodeUnsignedInteger16(stream, &exiFrag->stringValue.charactersLen); if (errn == 0) { if (exiFrag->stringValue.charactersLen >= 2) { exiFrag->stringValue.charactersLen = (uint16_t)(exiFrag->stringValue.charactersLen - 2); /* string table miss */ errn = decodeCharacters(stream, exiFrag->stringValue.charactersLen, exiFrag->stringValue.characters, EXIFragment_stringValue_CHARACTERS_SIZE); } else { /* string table hit */ errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED; } } exiFrag->stringValue_isUsed = 1u; } else { /* Second level event (e.g., xsi:type, xsi:nil, ...) */ errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS; } } break; default: errn = EXI_ERROR_UNEXPECTED_EVENT_LEVEL1; break; } } if(errn == 0) { /* EndDocument */ errn = decodeNBitUnsignedInteger(stream, 9, &eventCode); if (eventCode != 352) { errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; } } } (void)exiFrag; /* avoid unused warning */ return errn; } #endif /* DEPLOY_ISO2_CODEC_FRAGMENT */ #endif /* DEPLOY_ISO2_CODEC */ #endif